MySQL 啟動服務報錯解決方案

pursuer.chen發表於2015-11-08

標籤:ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid)

概述  

文章主要介紹因為啟動mysql服務報錯引發的問題,順帶擴充一些其它的知識點,當前版本是red hat 6,mysql 5.6。

目錄

步驟

報錯的源頭

問題解決

1.許可權

報錯的源頭就是它了,一般這種問題首先會想到的就是許可權問題,就是/var/lib/mysql該資料夾的許可權

上圖可以看到mysql資料夾的使用者和組都是mysql且mysql有寫的許可權,所以許可權沒有問題。

 2.程式

檢視/var/lib/mysql目錄,發現沒有生存mysql.sock檔案,說明mysql沒有啟動,也可以登入mysql來測試

檢視程式ps -ef|grep mysql

發現存在mysql程式,原因就是它了,kill掉,kill -9 pid

再啟動mysql服務,service mysql start,我當前的mysql版本是5.6,在5.7版本啟動服務是service mysqld start,稍微有點差別。

檢視mysql目錄,發現mysql.sock檔案生成了

問題分析

還記得一開始的那個報錯嗎?

明明已經存在mysql程式的但是為什麼stop mysql服務提示找不到程式,主要的原因還是程式裡面儲存mysql的異程式,解決方法就是按照上面的kill掉這些程式,為什麼會產生這種程式呢?我這裡是我自己的操作失誤,伺服器啟動的時候mysql自動已經啟動了,然後我還執行了一次service mysql start,導致了這個問題,這也是問題的由來,網上有很多文章是針對這個的解決方法但並沒有找出問題的由來,可能還會有其它原因導致這個問題,但是我這裡就是因為我重複啟動了服務,因為mysql5.7版本中mysql服務沒有自動重啟所以我經常會有重啟服務的習慣,但是在5.6版本mysql就是隨著系統自動啟動所以就無需再重啟服務了。

系統自動重啟服務

chkconfig命令

使用chkconfig命令查詢服務的重啟情況,命令:chkconfig --list servername,也可以單獨chkconfig --list檢視所有

 [0-6]分別代表linux系統的執行方式,0:停機,1:單使用者模式,2:不帶網路的多使用者,3:不帶圖形介面的多使用者,4:沒有使用,5:帶圖形介面的模式x11也就是經常看到linux桌面(預設級別),6:重啟

可以使用chkconfig --level 級別 服務名 on/off方式來關閉和啟動服務

例如我們關閉mysql在linux2,3,4,5執行級別的自動啟動,

chkconfig --level 2345 mysql off

這裡有一篇關於自動啟動服務的文章總結的很好:http://www.cnblogs.com/nerxious/archive/2013/01/18/2866548.html

 

檢視boot.log 日誌

命令:cat /var/log/boot.log

boot.log記錄了啟動項的日誌資訊。

 

總結

 文章主要是寫自己遇到問題發現問題找到問題的方法,順便擴充了一些系統自動啟動的資訊。

 

 

 

備註:

    作者:pursuer.chen

    部落格:http://www.cnblogs.com/chenmh

本站點所有隨筆都是原創,歡迎大家轉載;但轉載時必須註明文章來源,且在文章開頭明顯處給明連結,否則保留追究責任的權利。

《歡迎交流討論》

 

---恢復內容結束---

相關文章