MySQL因为停电异常关机,导致数据库无法启动成功,出现如下报错:
1 | 2021-03-15T01:50:21.759534Z 0 [Note] /usr/sbin/mysqld (mysqld 5.7.20) starting as process 22291 … |
解决方法:
- 修改/etc/my.cnf文件,添加innodb_force_recovery=6;
- 重启MySQL服务,能够顺利启动MySQL服务;
- 使用mysqldump将数据导出到他处;
- 删除原来的数据文件/var/lib/mysql,并重新初始化数据库;
- 将mysqldump导出的文件再导入回来。
注意:在执行上述操作之前,记得先备份一下MySQL的数据文件,以免出现innodb_force_recovery=6都无法启动MySQL的情况。
经验:虽然使用innodb_force_recovery可以进行innodb数据恢复,但是还是有可能丢失数据,所以如果是关键数据库,建议还是定期进行备份比较稳妥,备份脚本可查看此文章。