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

開發反饋環境中數據庫掛了,程序沒法鏈接:進系統查看數據庫沒啓動,關了;先重啓mysql

[root@jbftest-01 ~]# 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).linux

失敗!sql

問題可能的緣由有多種,具體什麼緣由最好的辦法是先查看下錯誤日誌:數據庫

[root@jbftest-01 home]# vi /var/log/mysqld.logcentos

發現緣由:因爲作了mysql主從配置,另一臺暫時撤銷致使這臺一直報錯,直至mysql掛掉;ui

而後是看沒法重啓緣由:spa

一、多是/usr/local/mysql/data/mysql.pid文件沒有寫的權限
解決方法 :給予權限,執行 「chown -R mysql:mysql /var/data」 「chmod -R 755 /usr/local/mysql/data」  而後從新啓動mysqld!

二、可能進程裏已經存在mysql進程
解決方法:用命令「ps -ef|grep mysqld」查看是否有mysqld進程,若是有使用「kill -9  進程號」殺死,而後從新啓動mysqld!

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

四、mysql在啓動時沒有指定配置文件時會使用/etc/my.cnf配置文件,請打開這個文件查看在[mysqld]節下有沒有指定數據目錄(datadir)。
解決方法:請在[mysqld]下設置這一行:datadir = /usr/local/mysql/data

五、skip-federated字段問題
解決方法:檢查一下/etc/my.cnf文件中有沒有沒被註釋掉的skip-federated字段,若是有就當即註釋掉吧。

六、錯誤日誌目錄不存在
解決方法:使用「chown」 「chmod」命令賦予mysql全部者及權限

七、selinux惹的禍,若是是centos系統,默認會開啓selinux
解決方法:關閉它,打開/etc/selinux/config,把SELINUX=enforcing改成SELINUX=disabled後存盤退出重啓機器試試。3d

八、磁盤空間滿了,可以使用df -h 查看磁盤空間剩餘,如不夠可擴容;rest

九、最後發現是my.cnf文件重複多餘了日誌

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

由於自己etc下已有my.cnf,致使重複了;

將 /usr/local/mysql 下的 my.cnf 文件移動開,再次啓動MySQL服務

[root@jbftest-01 home]# mv /usr/local/my.cnf /home/software

[root@jbftest-01 home]# service mysql restrat

成功!

相關文章
相關標籤/搜索