InnoDB: Database page corruption on disk or a failed
2013-08-23 阅读 40
早上起来,发现mysql挂了。
查看运行日志:
InnoDB: Database page corruption on disk or a failed
InnoDB: file read of page 5234.
InnoDB: You may have to recover from a backup.
mysql的参数innodb\_force\_recovery可以在启动时忽略一些检查项,如下:
1.(SRV\_FORCE\_IGNORE\_CORRUPT): 忽略检查到的corrupt页.
2.(SRV\_FORCE\_NO\_BACKGROUND): 阻止主线程的运行,如主线程需要执行full purge操作,会导致crash.
3.(SRV\_FORCE\_NO\_TRX\_UNDO): 不执行事务回滚操作.
4.(SRV\_FORCE\_NO\_IBUF\_MERGE): 不执行插入缓冲的合并操作.
5.(SRV\_FORCE\_NO\_UNDO\_LOG\_SCAN): 不查看重做日志,InnoDB存储引擎会将未提交的事务视为已提交.
6.(SRV\_FORCE\_NO\_LOG\_REDO):
配置文件MYSQLD段,设置innodb\_force\_recovery=1,启动OK,提示有表损坏,修复。
注意一定备份数据。
innodb\_force\_recovery说明:
默认为0,表示当需要恢复时执行所有的恢复操作(即校验数据页/purge undo/insert buffer merge/rolling back&forward).当不能进行有效的恢复操作时,mysql有可能无法启动,并记录下错误日志. innodb\_force\_recovery可以设置为0-6,大的数字包含前面所有数字的影响. 当设置参数值大于0后,可以对表进行select,create,drop操作,但insert,update或者delete这类操作是不允许的. 不执行前滚的操作.
MYSQL
更新于 2023年03月28日