mysql數據庫崩潰提示:InnoDB:Databasepagecorruptionondiskorafailed的解決辦法

運行“mysqld – -console ”命令可以顯示出啟動錯誤信息。

問題原因

資料庫中表損壞導致數據訪問錯誤,從而導致資料庫崩潰;mysql中check table 發現表有損壞,但表是innodb類型不能修復。

Innodb 自檢過程中checksum與退出時不一致便會去recover;

問題解決

1、知道mysql配置文件,my.cnf。

添加下面內容:

innodb_force_recovery=1

再啟動mysql

則可以正常啟動。

2、尋找到出錯的表。

本人利用Navicat連接mysql伺服器。

查看所有表,其中發現

3、將這兩個表導出成mysql文件。

再將這兩個表刪除。

復制mysql文件中的建表語句。由此新建兩個與之前結構一樣的表,但是存儲引擎設置為MYISAM。

將mysql文件中的錯誤的那條語句刪除。

將其他正常數據導入到資料庫。

4、關閉mysql伺服器。

將最開始添加的

innodb_force_recovery=1

刪除。

重啟mysql伺服器。

將MYISAM引擎的兩個表改為innodb。

(Navicat中,設計表->選項->innoDB->保存)

結束。

You May Also Like