2013-07-26 79 views
8

我使用NGINX的CentOS 6.4。MySql服務器PID未找到

當我嘗試start/stop/restart MySQL服務器(/etc/init.d/mysqld restart)我得到這個錯誤:

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

我能做些什麼來解決這個問題?

謝謝!

+0

看一看你的初始化腳本,並檢查PID文件的路徑/許可。 – deagh

+0

首先檢查mysql錯誤日誌,看看發生了什麼:'less/var/log/mysql/error.log'並向下滾動到底部或Shift + g – mirkobrankovic

+1

/var/log/mysql/error.log:沒有這樣的文件或目錄 –

回答

6

我在CentOS 6.3上得到了同樣的錯誤,我把MySQL升級到了5.6.14,但我保留了舊的my.cnf文件。升級之後,MySQL不會再啓動了,並且給出了與您所描述的相同的錯誤。

的問題是我在my.cnf中此設置:

table_cache=2048 

根據這個鏈接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."

我改

table_open_cache=2048 
上述行之後

MySQL開始完美。

那麼,如果你有MySQL的5.5+(也許是一個較舊的my.cnf),我建議你做到以下幾點:從/ etc文件夾

  • 刪除my.cnf中,並嘗試啓動MySQL
  • 如果MySQL啓動,問題出在my.cnf。對所有設置進行評論/取消註釋,以查看哪些問題導致問題。

希望這有助於。

+0

在答案中提問不公平。 –

+0

@Vinod VT,這是我在stackoverflow上的第一篇文章,所以我還不熟悉規則。如果這是發佈答案的正確方法,我會刪除這些問題。 –

+0

這對於我從MySQL 5.5升級到5.6的問題完全一樣。謝謝! – Guillochon

2

我升級我的Mac OS 10.9.3來和遇到的mysql.server的重啓

上述問題下面固定我的問題

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

我發現,有時候MySQL的進程仍在運行。當然,這是我的OS X約塞米蒂系統,請使用以下命令查找在名稱中使用MySQL出現的任何進程的情況下:

ps aux | grep mysql 

然後使用命令 sudo kill -9 PID殺死他們,違規更換PID進程ID。

0

檢查是否有鎖。

/etc/init.d/mysql status 

如果OS說有一把鎖,是這樣的:

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

刪除鎖定文件並重新啓動。

0

我發現這個工作....

# 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

首先確保該文件夾/文件不/var/run/mysqld/mysqld.pid

存在,如果沒有目錄存在則創建爲:

sudo mkdir -p /var/run/mysqld/ 

如果mysqld.pid不存在,那麼將其創建爲:

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

改變所有權:

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

重啓MySQL服務

​​