mysql修復(fù)損壞的innodb:innodb_force_recovery
mysql by 黃業(yè)興 at 2020-05-18
今天在線運(yùn)行的一個(gè)mysql竟然崩潰了,然后馬上登錄linux重啟mysql
service mysqld restart
一直報(bào)錯找不到pid和沒有讀寫權(quán)限,最后加了權(quán)限還是報(bào)錯。 無奈之下查看mysql日志發(fā)現(xiàn)。
InnoDB: Database page corruption on disk or a failed
InnoDB: file read of page 5.
InnoDB: You may have to recover from a backup.
2020-05-18 11:36:46 7f11c48e1720 InnoDB: Page dump in ascii and hex (16384 bytes):...
從日志中可以看出是innodb引擎出了問題。日志里提示到 http://dev.mysql.com/doc/refman/5.6/en/forcing-innodb-recovery.html查看強(qiáng)制恢復(fù)的方法。 在mysql的配置文件my.cnf里找到
[mysqld]
innodb_force_recovery = 1
然后在重啟mysql正常啟動,然后檢查一下出問題的表
mysqlcheck -A -u root -p
沒發(fā)現(xiàn)有問題的表,然后我就將恢復(fù)到以前
[mysqld]
innodb_force_recovery = 0
重啟mysql正常。我想可能是查詢數(shù)據(jù)的時(shí)候,表出現(xiàn)了損壞導(dǎo)致出錯,修復(fù)一下就可以了。
請關(guān)注我們微信公眾號:mw748219