MySQL: Starting MySQL….. ERROR! The server quit without updating PID file

前段時間打包了一個數據庫鏡像,可是啓動容器以後發現報錯 ··· ···mysql

MySQL: Starting MySQL….. ERROR! The server quit without updating PID file

查了網絡上的解決方案比較全,遂轉帖記錄下。linux

由於鏡像打包以前是作過主從的,因此這次把數據目錄 /data 下的 mysql_MS.index 文件重命名,而後從新啓動生成就行了。sql

-rw-rw---- 1 mysql mysql       36 Dec 16 01:43 mysql_MS.index
-rw-rw---- 1 mysql mysql      126 Dec 16 01:35 mysql_MS.index.bak

 

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

一、多是 /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 後存盤退出重啓機器試試。centos

 

 

 

參考資料

1. MySQL提示:The server quit without updating PID file問題的解決辦法bash

相關文章
相關標籤/搜索