mysqld nem indul

 ( BaT | 2007. május 21., hétfő - 17:41 )

Üdv!

Szóval szeretnék egy lamp-ot a 0.6-os frugalra, de a mysql megmakacsolta magát és nem indul.

Ezeket próbáltam:

root@frugalware:~# service mysqld start
:: A MySQL Daemon indítása                                           [   OK   ]
root@frugalware:~# nohup: redirecting stderr to stdout



root@frugalware:~# mysqld
070521 17:15:50 [ERROR] Fatal error: Please read "Security" section of the manua                                                                                                   l to find out how to run mysqld as root!

070521 17:15:50 [ERROR] Aborting

070521 17:15:50 [Note] mysqld: Shutdown complete



root@frugalware:~# /etc/rc.d/rc.mysqld start
:: A MySQL Daemon indítása                                                                                                                                              [   OK   ]
root@frugalware:~# nohup: redirecting stderr to stdout

Elolvastam a mysql.org-on a documentation idevonatkozó részét (Vagy nem ezt kellett volna? :)), és megpróbáltam megoldani az alapján a problémát.

root@frugalwatibi@frugalware:~$ /usr/sbin/mysqld
070521 17:37:13 [Warning] No argument was provided to --log-bin, and --log-bin-index was not used; so replication may break when this MySQL server acts as a master and has his hostname changed!! Please use '--log-bin=frugalware-bin' to avoid this problem.
InnoDB: The first specified data file ./ibdata1 did not exist:
InnoDB: a new database to be created!
070521 17:37:13  InnoDB: Setting file ./ibdata1 size to 10 MB
InnoDB: Database physically writes the file full: wait...
070521 17:37:13  InnoDB: Log file ./ib_logfile0 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile0 size to 5 MB
InnoDB: Database physically writes the file full: wait...
070521 17:37:13  InnoDB: Log file ./ib_logfile1 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile1 size to 5 MB
InnoDB: Database physically writes the file full: wait...
InnoDB: Doublewrite buffer not found: creating new
InnoDB: Doublewrite buffer created
InnoDB: Creating foreign key constraint system tables
InnoDB: Foreign key constraint system tables created
070521 17:37:13  InnoDB: Started; log sequence number 0 0
070521 17:37:13 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
tibi@frugalware:~$

De így se connectel...

Sajnos több ötletem nincs. Kérek mindenkit, akinek van ötlete/linkje, ne tartsa vissza. :)

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Ilyesmi nincs a bugok között...

Viszont mivel másnak megy, nálam is mennie kellene valahogy. Magyarul nem bug, hanem beállítási prolémáról van szó szerintem. (Pontosabban nincs mysql.host.)

Irc-n meg azért nem kérdezem, mert egyszer már kérdeztem, és akkor valami olyan választ kaptam, hogy ez mysql probléma, olyanokat kérdezzek, akik ahoz értenek. A hupon meg jó esélyjel többen értenek hozzá. :)

1. Mi a helyzet ezzel:

Please use '--log-bin=frugalware-bin' to avoid this proble

2. MySQL configban ki is tudod kapcsolni a binlog-ot.

"Jegyezze fel a vádhoz - utasította Metcalf őrnagy a tizedest, aki tudott gyorsírni. - Tiszteletlenül beszélt a feljebbvalójával, amikor nem pofázott közbe."

tibi@frugalware:~$ /usr/sbin/mysqld --log-bin=frugalware-bin
070521 19:44:46  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
070521 19:44:46  InnoDB: Starting log scan based on checkpoint at
InnoDB: log sequence number 0 36808.
InnoDB: Doing recovery: scanned up to log sequence number 0 43655
070521 19:44:46  InnoDB: Starting an apply batch of log records to the database...
InnoDB: Progress in percents: 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
InnoDB: Apply batch completed
070521 19:44:46  InnoDB: Started; log sequence number 0 43655
070521 19:44:46 [Note] Recovering after a crash using frugalware-bin
070521 19:44:46 [Note] Starting crash recovery...
070521 19:44:46 [Note] Crash recovery finished.
070521 19:44:46 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
tibi@frugalware:~$

Ha a log-bin-t kikapcsolom, akkor is ugyan ez.

Inkább az a kérdés, hogy miért nincs mysql.host, illetve ha azt nekem kell csinálnom, mit kell tartalmaznia?

- "log-bin" kikapcsoláson ugyanazt értjük? (my.cnf-ben log-bin sor kikommentezése)
- innodb nélkül (my.cnf-ben skip-innodb komment nélkül) indul?
- látszik, hogy valami adatbázis sérülés (is) lehet a háttérben: ha nincsenek érzékeny adatok, akkor tiszta adatbázissal próbálnék nekifutni előlről, illetve elolvasnám az alattam szólók ötleteit (install_db, create_system_tables, fix_privileges...)

Üdv,
Dw.

"Jegyezze fel a vádhoz - utasította Metcalf őrnagy a tizedest, aki tudott gyorsírni. - Tiszteletlenül beszélt a feljebbvalójával, amikor nem pofázott közbe."

- igen, ugyan azt értjük. :)
- innodb nélkül is hiányzik a mysql.host
- "akkor tiszta adatbázissal próbálnék" magyarul töröljek mindent a /var/lib/mysql-ből? (Egyébként nincsenek érzékeny adatok. :))

Pár kérdés:

1. Van-e /var/lib/mysql könyvtárad, ha van, akkor van-e benne valami és milyen jogokkal.
2/a. Ha nincs, akkor a 'mysql_create_system_tables' mit mond/mit csinál?
2/b. Ha van, akkor a 'mysql_fix_privilege_tables' parancsnak mi az eredménye?
3. Ha egyiknek sincs megfelelő eredménye, akkor nincs véletlenül áthelyezve máshova konfigban a datadir a system táblákkal együtt?
4. Bugreportolj, így nagyobb az esélye, hogy értelsülünk a hibáról...

1: Ezek vannak a /var/lib/mysql-ben:

root@frugalware:/var/lib/mysql# find
.
./frugalware.err
./frugalware-bin.index
./ibdata1
./ib_logfile0
./ib_logfile1
./frugalware-bin.000001
./frugalware-bin.000002

Jogok: tibi,users,755.

2: Nem tudom, hogy rootként vagy sima userként kell futtatni, ezért mind2 módon próbáltam.

tibi@frugalware:~$ mysql_fix_privilege_tables
This script updates all the mysql privilege tables to be usable by
MySQL 4.0 and above.

This is needed if you want to use the new GRANT functions,
CREATE AGGREGATE FUNCTION, stored procedures, or
more secure passwords in 4.1

Got a failure from command:
cat /usr/share/mysql/mysql_fix_privilege_tables.sql | /usr/bin/mysql --no-defaults --force --user=root --host=localhost --database=mysql
Please check the above output and try again.

Running the script with the --verbose option may give you some information
of what went wrong.

If you get an 'Access denied' error, you should run this script again and
give the MySQL root user password as an argument with the --password= option
tibi@frugalware:~$ su
Jelszó:
root@frugalware:/home/tibi# mysql_fix_privilege_tables
This script updates all the mysql privilege tables to be usable by
MySQL 4.0 and above.

This is needed if you want to use the new GRANT functions,
CREATE AGGREGATE FUNCTION, stored procedures, or
more secure passwords in 4.1

Got a failure from command:
cat /usr/share/mysql/mysql_fix_privilege_tables.sql | /usr/bin/mysql --no-defaults --force --user=root --host=localhost --database=mysql
Please check the above output and try again.

Running the script with the --verbose option may give you some information
of what went wrong.

If you get an 'Access denied' error, you should run this script again and
give the MySQL root user password as an argument with the --password= option
root@frugalware:/home/tibi#     

3: datadir = /var/lib/mysql, úgyhogy nincs.

man mysql_install_db

t

Lefuttattam rootként mysql_install_db-t, majd megpróbáltam elindítani mysqld-t (csak az errorok):

070522 13:54:28 [ERROR] /usr/sbin/mysqld: Can't find file: './mysql/host.frm' (errno: 13)
070522 13:54:28 [ERROR] /usr/sbin/mysqld: Can't find file: './mysql/host.frm' (errno: 13)
070522 13:54:28 [ERROR] Fatal error: Can't open and lock privilege tables: Can't find file: './mysql/host.frm' (errno: 13)

Ezt a filet merre kellene megtalálnia?

eleve a mysql userrel kell csinalni, ezert mondtam, hogy MAN.
masodszor meg nezd mar meg az eleresi utvonalakat, hogy mi hol van, minek hol kene lennie.

t

Wááááá ekkora fatális hibát is ritkán követek el...

A megoldás: chown userneve -R /var/lib/mysql

Ha nem nézem meg konqueror alól a könyvtárat, sose jövök rá, hogy a mysql könyvtár alatt van még egy mysql könyvtár...

Nagyon szépen köszönöm a segítséget!!!