1. 程式人生 > >MySQL重啟時報The server quit without updating PID file

MySQL重啟時報The server quit without updating PID file

開發反饋環境中資料庫掛了,程式無法連線:進系統檢視資料庫沒啟動,關了;先重啟

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

失敗!

問題可能的原因有多種,具體什麼原因最好的辦法是先檢視下錯誤日誌:

[[email protected] home]# vi /var/log/mysqld.log

發現原因:由於做了mysql主從配置,另外一臺暫時撤銷導致這臺一直報錯,直至mysql掛掉;

然後是看無法重啟原因:

1、可能是/usr/local/mysql/data/mysql.pid檔案沒有寫的許可權
解決方法 :給予許可權,執行 “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data”  然後重新啟動mysqld!

2、可能程序裡已經存在mysql程序
解決方法:用命令“ps -ef|grep mysqld”檢視是否有mysqld程序,如果有使用“kill -9  程序號”殺死,然後重新啟動mysqld!

3、可能是第二次在機器上安裝mysql,有殘餘資料影響了服務的啟動。
解決方法:去mysql的資料目錄/data看看,如果存在mysql-bin.index,就趕快把它刪除掉吧,它就是罪魁禍首了。本人就是使用第三條方法解決的 !

4、mysql在啟動時沒有指定配置檔案時會使用/etc/my.cnf配置檔案,請開啟這個檔案檢視在[mysqld]節下有沒有指定資料目錄(datadir)。
解決方法:請在[mysqld]下設定這一行:datadir = /usr/local/mysql/data

5、skip-federated欄位問題
解決方法:檢查一下/etc/my.cnf檔案中有沒有沒被註釋掉的skip-federated欄位,如果有就立即註釋掉吧。

6、錯誤日誌目錄不存在
解決方法:使用“chown” “chmod”命令賦予mysql所有者及許可權

7、selinux惹的禍,如果是centos系統,預設會開啟selinux
解決方法:關閉它,開啟/etc/selinux/config,把SELINUX=enforcing改為SELINUX=disabled後存檔退出重啟機器試試。

8、磁碟空間滿了,可使用df -h 檢視磁碟空間剩餘,如不夠可擴容;

9、最後發現是my.cnf檔案重複多餘了

解決辦法其實很簡單:將多餘的檔案my.cnf移除;

因為本身etc下已有my.cnf,導致重複了;

將 /usr/local/mysql 下的 my.cnf 檔案移動開,再次啟動MySQL服務

[[email protected] home]# mv /usr/local/my.cnf /home/software

[[email protected] home]# service mysql restrat

成功!