2012-01-11 10 views
20

Wpadłem w kłopoty z MySQL na moim CentOS. Mam pewne problemy i kopię zapasową bazy danych i usunąłem mysql ze wszystkimi zależnościami. Potem wpadłem ponownie zainstalować:Wystąpił błąd limitu czasu podczas próby uruchomienia demona MySQL. CentOS 5

yum groupinstall "MySQL Database" 

zainstalowany bez błędów.

Uruchamianie demona mysql:

service mysqld start 

Timeout error occurred trying to start MySQL Daemon. 
Starting MySQL:           [FAILED] 

Ja również prowadził

# /usr/bin/mysql_install_db --user=mysql 
Installing MySQL system tables... 
120112 1:49:44 [ERROR] Error message file '/usr/share/mysql/english/errmsg.sys' had only 480 error messages, 
but it should contain at least 481 error messages. 
Check that the above file is the right version for this program! 
120112 1:49:44 [ERROR] Aborting 

Installation of system tables failed! 

Examine the logs in /var/lib/mysql for more information. 
You can try to start the mysqld daemon with: 
/usr/libexec/mysqld --skip-grant & 
and use the command line tool 
/usr/bin/mysql to connect to the mysql 
database and look at the grant tables: 

shell> /usr/bin/mysql -u root mysql 
mysql> show tables 

Try 'mysqld --help' if you have problems with paths. Using --log 
gives you a log in /var/lib/mysql that may be helpful. 

The latest information about MySQL is available on the web at 
http://www.mysql.com 
Please consult the MySQL manual section: 'Problems running mysql_install_db', 
and the manual section that describes problems on your OS. 
Another information source is the MySQL email archive. 
Please check all of the above before mailing us! 
And if you do mail us, you MUST use the /usr/bin/mysqlbug script! 

Sprawdzanie logów:

less /var/log/mysqld.log 

plik dziennika jest pusty. Nie wiem nawet jak to debugować i nie wiem, co robić.

Jakieś rekomendacje?

Dziękuję

Odpowiedz

23

Hej, czasami dlatego, że skończyło Ci się miejsce na dysku ... więc napewno pobieżne df -h, aby być pewnym! (TYLKO stało się to dla mnie: P).

+1

To zaoszczędziło mi dużo czasu, dzięki! –

+0

Pomyślał o tym przez godzinę 4! Dzięki! –

35

wiem pytasz to dawno temu, ale od osoby wyszukujące „Przekroczony limit czasu podczas próby uruchomienia demona MySQL”. może zakończyć się tutaj, istnieje kilka możliwych rozwiązań tego błędu. Oto niektóre z nich:

Po pierwsze, zamiast biegać service mysqld start lub service mysqld restart spróbuj uruchomić:

$ service mysqld stop; mysqld_safe &

Znane są problemy z mysqladmin linii w skrypcie /etc/init.d/mysqld.

Jeśli to nie działa, spróbuj wykonać następujące czynności: sprawdź, czy jest wystarczająco dużo wolnego miejsca na dysku (szczególnie w /var):

$ df -h

Sprawdź ewentualnych komunikatów o błędach w tych plikach (nie wszystkie z nich mogą istnieć):

# tail -n 30 /var/log/messages

# tail -n 30 /var/log/mysqld.log

# tail -n 30 /var/lib/mysql/*.err

# tail -n 30 /var/log/mysql/error.log

Następna w kolejce, upewnij się, że /etc/my.cnf używa ...

socket=/var/lib/mysql/mysql.sock

... i że katalog /var/lib/mysql/ faktycznie istnieje.

Ustaw odpowiednie uprawnienia oraz właścicieli:

# chown -R mysql.mysql /var/lib/mysql/

# chmod g+w /var/run/mysqld/

# chgrp mysql /var/run/mysqld/

Nadal nie działa? Spróbuj zmienić adres powiązania w my.cnf na 127.0.0.1 lub 0.0.0.0 lub skomentuj ten wiersz.

Jeśli nadal masz pecha, wyszukaj więcej informacji o mysql_install_db, a ponieważ Twoja baza danych InnoDB może być uszkodzona, zajrzyj także do set-variable=innodb_force_recovery=6.

7

Przed uruchomieniem serwera mysql nazwy plików /var/lib/mysql/ib_logfile0 i /var/lib/mysql/ib_logfile0 następnie zrestartować serwer

w Linux/Unix

mv /var/lib/mysql/ib_logfile0 /var/lib/mysql/ib_logfile0_old 
mv /var/lib/mysql/ib_logfile1 /var/lib/mysql/ib_logfile1_old 

następnie

service mysqld restart 
+0

Mimo że poniższa odpowiedź ma wiele innych opcji, to właśnie dla mnie zadziałała. Dzięki! –

0

W moim przypadku przyczyną było to, że zestaw key_buffer_size w /etc/my.cnf kiedy to skomentowałem, mysqld zaczął działać poprawnie.

0

Spróbuj to:

rm $(grep socket /etc/my.cnf | cut -d= -f2) && service mysqld start 
Powiązane problemy