幫助中心
這里有最新的使用文檔和教程
Mysql啟動報錯:The server quit without updating PID file幾種解決辦法
以下為常見的解決辦法, 一般第三種比較常見
如果數(shù)據(jù)庫報這個錯,日志里面沒有任何報錯,配置文件、目錄權(quán)限都對著,可以使用以下命令查看,是否缺少依賴文件
1、/usr/local/mysql/bin/mysqld -V
2、檢查配置文件編碼是否發(fā)生變化,重新替換一個正常的配置文件重啟測試
1.目錄權(quán)限問題
對mysql的安裝目錄和數(shù)據(jù)目錄分別進行授權(quán)
# chown -R mysql.mysql /usr/local/mysql
# chown -R mysql.mysql /data/mysql
# service mysqld start
1
2
3
或者是配置文件的配置項導致的,回退自己的修改過的配置,這種報錯可以在數(shù)據(jù)庫的錯誤日志中顯示出來
2.可能進程里已經(jīng)存在mysql進程
解決方法:用命令“ps -ef|grep mysqld”查看是否有mysqld進程,如果有使用“kill -9 進程號”殺死,然后重新啟動mysqld!
3.可能是第二次在機器上安裝mysql,有殘余數(shù)據(jù)影響了服務的啟動。(這個比較常見)
解決方法:去mysql的數(shù)據(jù)目錄/data看看,如果存在mysql-bin.index,就趕快把它刪除掉吧,它就是罪魁禍首了。
4.mysql在啟動時沒有指定配置文件時會使用/etc/my.cnf配置文件,請打開這個文件查看在[mysqld]節(jié)下有沒有指定數(shù)據(jù)目錄(datadir)。
解決方法:請在[mysqld]下設置這一行:datadir = /usr/local/mysql/data
5.可能是/usr/local/mysql/data/mysql.pid文件沒有寫的權(quán)限
解決方法 :給予權(quán)限,執(zhí)行 “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data” 然后重新啟動mysqld!
6.selinux惹的禍,如果是centos系統(tǒng),默認會開啟selinux
解決方法:關(guān)閉它,打開/etc/selinux/config,把SELINUX=enforcing改為SELINUX=disabled后存盤退出重啟機器試試
7.刪除mysql庫文件/data/mysql/中的“ib_*”文件,注意:** 執(zhí)行該操作之前一定要對數(shù)據(jù)庫進行備份,因為ibdata1存放的是所有數(shù)據(jù)文件,如果不小心刪了庫,那就慘了!!!(傳說中的從刪庫到跑路。。。),然后重啟mysql。
8.查看日志有如下錯誤提示:Plugin ‘InnoDB’ registration as a STORAGE ENGINE failed。
解決辦法:
[root@localhost mysql]# rm -rf ib_logfile*
1
然后啟動mysql,問題解決!
9.看日志有這樣的字樣“initialize buffer pool,size=128.0M”,“cannot allocate memory for the pool”,大概意思是說無法分配足夠的內(nèi)存供pool使用。此時想到mysql配置文件中有相關(guān)的配置,于是更改如下參數(shù):
innodb_buffer_pool_size = 128
#配置文件中該值默認為128M
將這個值調(diào)小,再次啟動mysql服務,問題解決!
10.系統(tǒng)上缺少mysql的依賴文件
# yum -y install libaio
# yum -y install numactl
1
2
重新啟動mysql服務,問題解決