2013-07-26 12 views
8

Mam CentOS 6.4 z NGINX.Nie znaleziono PID serwera MySql

Kiedy próbuję serwerze start/stop/restart mysql (/etc/init.d/mysqld restart) otrzymuję ten błąd:

MySQL server PID file could not be found!     [FAILED] 
Starting MySQL..The server quit without updating PID file ([FAILED]/mysql/mysqld.pid). 

Co mogę zrobić, aby rozwiązać ten problem?

Dzięki!

+0

Wystarczy popatrzeć na swoim skrypcie i sprawdzić ścieżkę/pozwolenie pliku PID. – deagh

+0

Najpierw sprawdź logi błędów mysql, aby zobaczyć, co się stało: 'less/var/log/mysql/error.log' i przewiń w dół do dołu lub Shift + g – mirkobrankovic

+1

/var/log/mysql/error.log: Brak takiego pliku lub katalogu –

Odpowiedz

6

Ten sam błąd wystąpił w CentOS 6.3, w którym uaktualniłem MySQL do 5.6.14, ale zachowałem stary plik my.cnf. Po aktualizacji MySQL nie zaczął więcej, dając mi ten sam błąd, co opisałeś.

Problemem było to, że miałem to ustawienie w my.cnf:

table_cache=2048 

Według tego linka table_cache renamed table_open_cache ..

"Seem like in 5.5 the system variable table_cache was renamed table_open_cache.. In 5.6 mysqld fails if it finds an unknown variable this means that upgrades from versions earlier than 5.5 can have problems if table_cache is specified in my.cnf."

Po Zmieniłem powyższą linię do

table_open_cache=2048 

MySQL rozpoczął się idealnie.

Tak więc, w przypadku masz MySQL 5.5+ (a może starszy my.cnf), proponuję, aby wykonać następujące czynności:

  • usuń my.cnf z/etc folderu i spróbuj uruchomić MySQL
  • jeśli MySQL się uruchamia, problem występuje w my.cnf. Skomentuj/odkomentuj wszystkie ustawienia, jeden po drugim, aby zobaczyć, co jest przyczyną problemu.

Mam nadzieję, że to pomoże.

+0

Zadawanie pytań w odpowiedzi jest niesprawiedliwe. –

+0

@Vinod VT, to mój pierwszy wpis na stackoverflow, więc nie jestem jeszcze zaznajomiony z zasadami. Usuwam pytania, jeśli jest to właściwy sposób zamieszczania odpowiedzi. –

+0

To był dokładnie ten sam problem dla mnie aktualizacji z MySQL 5.5 do 5.6. Dzięki! – Guillochon

2

I zmodernizowane moim Mac OS 10.9.3 i napotkał na powyższy problem na mysql.server restartu

Poniżej stałe mój problem

sudo chmod -R o+rwx /usr/local/var/mysql/ 
sudo chown -R mysql /usr/local/var/mysql/ 
sudo mysql.server restart 
1

Uważam, że czasami procesy MySQL są nadal działa. Z pewnością tak było w moim systemem OS X Yosemite więc wykorzystać następujące polecenie, aby znaleźć jakiekolwiek procesy, które pojawiają się z MySQL w nazwie:

ps aux | grep mysql 

Potem je zabić za pomocą polecenia sudo kill -9 PID, zastępując PID z przestępstwa ID procesu.

0

Sprawdź, czy jest zamek.

/etc/init.d/mysql status 

Jeżeli OS mówi, że tam jest zamek, coś jak:

ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql) exists 

usunąć ten plik i zablokować restart.

0

Znalazłem to ....

# ps aux | grep mysql 
root  3668 0.0 0.0 11432 1240 ?  S  2014 0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/db/data01 --pid-file=/var/lib/mysql/mysql.pid 
mysql  5303 0.1 0.4 1964748 12368 ?  S<l 2014 1663:35 /usr/sbin/mysqld --basedir=/usr --datadir=/db/data01 --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/db/logs01/mysql-error.err --open-files-limit=8192 --pid-file=/var/lib/mysql/mysql.pid --socket=/var/lib/mysql/mysql.sock --port=3306 
root  12369 0.0 0.0 6376 680 pts/0 S+ 09:05 0:00 grep mysql 
# kill -9 3668 5303 
# rm /var/lock/subsys/mysql rm: remove regular empty file `/var/lock/subsys/mysql'? y 
# service mysql start Starting MySQL (Percona Server).. SUCCESS! 
0

Przede wszystkim upewnij się, że to, co folderu/pliku nie istnieje w /var/run/mysqld/mysqld.pid

jeśli nie istnieje reż następnie utworzyć go jako:

sudo mkdir -p /var/run/mysqld/ 

jeśli mysqld.pid nie istnieje, utwórz go jako:

sudo touch /var/run/mysqld/mysqld.pid 

własność zmiany jak:

sudo chown mysql:mysql -R /var/run/mysqld 
chmod 775 -R /var/run/mysqld 

serwis restart mysql

sudo service mysql restart