centos伺服器斷電,伺服器重新開機後,MySQL資料庫啟動失敗,下面記錄一下修改過程
先是嘗試進入資料庫:
mysql -u root -p
,輸入password後,發現報錯:
Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (111)
參考了其他人的方法(提醒一下,如果要做删除的話,最好還是備份一下):
1、有人說這樣可以進去:
mysql -uroot -h 127.0.0.1 -p
,我試了一下,也還是報錯,無法進入,如果你可以,可以參考hjf161105說的方法
2、也有人說删除ib_logfile0和ib_logfile1兩個檔案就可以了,我試了一下,也沒用
3、我還試過将/var/lib/mysql/mysql.sock删除,後面發現也沒有用,然後我的報錯還變成了Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2),這裡我沒有做備份就直接删了,當時特别後悔,删了之後,才想到備份,幸好沒出事
每次嘗試後,啟動服務,都是同樣報錯:Job for mysqld.service failed because the control process exited with error code. See “systemctl status mysqld.service” and “journalc
tl -xe” for details.
幾經嘗試,發現下面這個方法可行
檢視日志:
cat /var/log/mysqld.log
,發現有報錯,一般來說,這裡面說,解決問題應該都是根據這裡面的error去找解決辦法,我是走了些彎路才去看這個log的
可以發現這裡的第一條報錯是
mysqld: Can’t find file: ‘./mysql/plugin.frm’ (errno: 13 - Permission denied)
是以,就先解決這個報錯,而我在解決這個問題之後,MySQL就正常啟動了
解決方法
(參考sunny05296的博文,感謝大佬):
1、進入plugin.frm所在目錄,我的是在
/var/lib/mysql/mysql
中
2、修改權限:
chown mysql.mysql *
3、啟動mysql服務:
service mysqld start
,發現成功,舒服了,哈哈哈哈哈