這篇文章將為大家詳細講解有關(guān)MySQL5.7.21啟動異常怎么辦,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
創(chuàng)新互聯(lián)公司,為您提供網(wǎng)站建設(shè)公司、成都網(wǎng)站制作、網(wǎng)站營銷推廣、網(wǎng)站開發(fā)設(shè)計,對服務(wù)混凝土攪拌罐車等多個行業(yè)擁有豐富的網(wǎng)站建設(shè)及推廣經(jīng)驗。創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)公司成立于2013年,提供專業(yè)網(wǎng)站制作報價服務(wù),我們深知市場的競爭激烈,認真對待每位客戶,為客戶提供賞心悅目的作品。 與客戶共同發(fā)展進步,是我們永遠的責任!
排查過程:
最早的啟動信息里面,沒有任何報錯,只有一行[ERROR] Aborting提示,如下:
接著同事用了innodb_force_recovery=6的方式,才多出現(xiàn)了如下的錯誤提示,但仍無法啟動成功,這個時候,我才決定去看個究竟。
過濾啟動日志,grep ERROR /data/mysql/3306/mysql_run.err
可以看到,全部報錯主要如下:
MySQL大多數(shù)不能啟動的原因,都是系統(tǒng)數(shù)據(jù)庫的原因,看來這個也不例外。
嘗試使用帶--skip-grant-tables的方式登錄系統(tǒng),竟然成功了。
/usr/local/mysql/bin/mysqld_safe --defaults-file=/data/mysql/3306/my.cnf --user=mysql --skip-grant-tables &
緊接著,抓緊對innodb進行檢查,執(zhí)行:
innochecksum ibdata1
后發(fā)現(xiàn)沒有任何輸出。
接著執(zhí)行mysqlcheck,果然修復(fù)一些mysql庫下面的表報錯。之后以正常方式重啟系統(tǒng),MySQL恢復(fù)正常。
mysqlcheck -u root -p --repair -A
總結(jié):
1、MySQL并沒有那么脆弱,沒必要在損壞的時候就通過備份恢復(fù)的方式執(zhí)行還原,費時費力;
2、啟動過程中,可以通過設(shè)置--skip-grant-tables或者設(shè)置innodb_force_recovery(這個參數(shù)要修改cnf文件)來讓MySQL跳過一些檢查,使實例成功啟動;
3、啟動之后,可以執(zhí)行數(shù)據(jù)備份或者導(dǎo)出數(shù)據(jù),并且嘗試對實例做修復(fù);
4、該實例出現(xiàn)這個問題,懷凝是因為與實時存盤的參數(shù)設(shè)置不當有關(guān)。
關(guān)于“mysql5.7.21啟動異常怎么辦”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。