一、概述
文章主要介紹因為啟動mysql服務(wù)報錯引發(fā)的問題:"ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid)",順帶擴充一些其它的知識點,當前版本是red hat 6,mysql 5.6。
二、步驟
報錯的源頭
問題解決
1.權(quán)限
報錯的源頭就是它了,一般這種問題首先會想到的就是權(quán)限問題,就是/var/lib/mysql該文件夾的權(quán)限
上圖可以看到mysql文件夾的用戶和組都是mysql且mysql有寫的權(quán)限,所以權(quán)限沒有問題。
2.進程
查看/var/lib/mysql目錄,發(fā)現(xiàn)沒有生存mysql.sock文件,說明mysql沒有啟動,也可以登入mysql來測試
查看進程ps -ef|grep mysql
發(fā)現(xiàn)存在mysql進程,原因就是它了,kill掉,kill -9 pid
再啟動mysql服務(wù),service mysql start,我當前的mysql版本是5.6,在5.7版本啟動服務(wù)是service mysqld start,稍微有點差別。
查看mysql目錄,發(fā)現(xiàn)mysql.sock文件生成了
問題分析
還記得一開始的那個報錯嗎?
明明已經(jīng)存在mysql進程的但是為什么stop mysql服務(wù)提示找不到進程,主要的原因還是進程里面存儲mysql的異進程,解決方法就是按照上面的kill掉這些進程,為什么會產(chǎn)生這種進程呢?我這里是我自己的操作失誤,服務(wù)器啟動的時候mysql自動已經(jīng)啟動了,然后我還執(zhí)行了一次service mysql start,導(dǎo)致了這個問題,這也是問題的由來,網(wǎng)上有很多文章是針對這個的解決方法但并沒有找出問題的由來,可能還會有其它原因?qū)е逻@個問題,但是我這里就是因為我重復(fù)啟動了服務(wù),因為mysql5.7版本中mysql服務(wù)沒有自動重啟所以我經(jīng)常會有重啟服務(wù)的習(xí)慣,但是在5.6版本mysql就是隨著系統(tǒng)自動啟動所以就無需再重啟服務(wù)了。
系統(tǒng)自動重啟服務(wù)
chkconfig命令
使用chkconfig命令查詢服務(wù)的重啟情況,命令:chkconfig --list servername,也可以單獨chkconfig --list查看所有
[0-6]分別代表linux系統(tǒng)的運行方式,0:停機,1:單用戶模式,2:不帶網(wǎng)絡(luò)的多用戶,3:不帶圖形界面的多用戶,4:沒有使用,5:帶圖形界面的模式x11也就是經(jīng)常看到linux桌面(默認級別),6:重啟
可以使用chkconfig --level 級別 服務(wù)名 on/off方式來關(guān)閉和啟動服務(wù)
例如我們關(guān)閉mysql在linux2,3,4,5運行級別的自動啟動,
chkconfig --level 2345 mysql off
這里有一篇關(guān)于自動啟動服務(wù)的文章總結(jié)的很好:Linux如何設(shè)置服務(wù)自啟動
查看boot.log 日志
命令:cat /var/log/boot.log
boot.log記錄了啟動項的日志信息。
文章主要是寫自己遇到問題發(fā)現(xiàn)問題找到問題的方法,順便擴充了一些系統(tǒng)自動啟動的信息,希望對大家的學(xué)習(xí)有所幫助。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com