此修复是针对服务器出现意外情况(例如意外断电)时造成的MySql数据文件损坏,导致MySql服务启动失败的情况。

  1. 打开MySql安装路径

                       mysql意外断电修复

  2.编辑my.ini文件,在该文档最后添加”innodb_force_recovery=4”并保存;

 mysql意外断电修复

  3.启动已停止服务的MySql服务;

 mysql意外断电修复

4.导出表结构及数据(如果单个表过大可分数次导出);

4.1. 首先导出除大文件以外的表(可命名为backups.sql);

 mysql意外断电修复

4.2. 然后导出单个表(例如receivelog、tplaylog,可命名为receivelog.sql、tplaylog.sql);

 

 mysql意外断电修复

mysql意外断电修复

 

5.停止MySql服务;

 mysql意外断电修复

6.删除步骤2中添加的”innodb_force_recovery=4”内容;

 mysql意外断电修复

7.删除MySql数据存储目录下除文件夹以外所有文件(ib_logfile0、ib_logfile1、ibdata1、扩展名为”.err”和”.pid”的文件);

 mysql意外断电修复

mysql意外断电修复

 

8.启动MySql服务;

 mysql意外断电修复

 9.依次导入步骤4所导出的备份文件;

 

9.1. 先导入backups.sql,右击Query所在区域,选择”Load SQL file…”

mysql意外断电修复

 

9.2. 打开备份文件所在目录

 

 mysql意外断电修复

 

9.3. 打开备份文件,单击“Run“按钮,如下所示

 mysql意外断电修复

9.4. 导入成功后如下图

 mysql意外断电修复

9.5. 然后同样方式导入receivelog.sql,文件大小大于5M时会弹出以下对话框,可点击”yes”

 mysql意外断电修复

9.6. 弹出还原过程对话框(如果出现假死现象可继续等待)

 mysql意外断电修复

 

9.7. 等待出现如下界面后单击”Close”

 mysql意外断电修复

9.8. 还原成功后如下图

 mysql意外断电修复

9.9. 最后按照同样步骤导入tplaylog.sql,成功后如下图

 mysql意外断电修复

10.到此MySql修复完成。

相关文章: