此修复是针对服务器出现意外情况(例如意外断电)时造成的MySql数据文件损坏,导致MySql服务启动失败的情况。
- 打开MySql安装路径
2.编辑my.ini文件,在该文档最后添加”innodb_force_recovery=4”并保存;
3.启动已停止服务的MySql服务;
4.导出表结构及数据(如果单个表过大可分数次导出);
4.1. 首先导出除大文件以外的表(可命名为backups.sql);
4.2. 然后导出单个表(例如receivelog、tplaylog,可命名为receivelog.sql、tplaylog.sql);
5.停止MySql服务;
6.删除步骤2中添加的”innodb_force_recovery=4”内容;
7.删除MySql数据存储目录下除文件夹以外所有文件(ib_logfile0、ib_logfile1、ibdata1、扩展名为”.err”和”.pid”的文件);
8.启动MySql服务;
9.依次导入步骤4所导出的备份文件;
9.1. 先导入backups.sql,右击Query所在区域,选择”Load SQL file…”
9.2. 打开备份文件所在目录
9.3. 打开备份文件,单击“Run“按钮,如下所示
9.4. 导入成功后如下图
9.5. 然后同样方式导入receivelog.sql,文件大小大于5M时会弹出以下对话框,可点击”yes”
9.6. 弹出还原过程对话框(如果出现假死现象可继续等待)
9.7. 等待出现如下界面后单击”Close”
9.8. 还原成功后如下图
9.9. 最后按照同样步骤导入tplaylog.sql,成功后如下图
10.到此MySql修复完成。