MySQL Error number: MY-013598; Symbol: ER_IB_ERR_RECOVERY_REDO_DISABLED; SQLSTATE: HY000 报错 故障修复 远程处理
文档解释
Error number: MY-013598; Symbol: ER_IB_ERR_RECOVERY_REDO_DISABLED; SQLSTATE: HY000
Message: Server was killed when InnoDB redo logging was disabled. Data files could be corrupt. You can try to restart the database with innodb_force_recovery=6
错误说明:
ER_IB_ERR_RECOVERY_REDO_DISABLED错误代码是MySQL定义的一个错误,这表示Innodb重做日志和恢复没有被启用。这个错误的常见原因是与innodb重做日志文件或者恢复文件相关的设置未成功进行,从而导致Innodb无法正常启动。
常见案例
ER_IB_ERR_RECOVERY_REDO_DISABLED错误常见于重新启动mysql服务器时。在重启前,用户可能要求禁用特定配置,例如innodb_log_file_size和innodb_recovery_log_file_size。如果这些变量的值被设置为空或者0,那么innodb重做日志和恢复操作将不会被启用,因此ER_IB_ERR_RECOVERY_REDO_DISABLED错误就会发生。
解决方法:
要解决这个问题,首先需要确保innodb_log_file_size和innodb_recovery_log_file_size变量已正确设置。innodb_log_file_size变量用于指定重做日志文件的大小,而innodb_recovery_log_file_size变量用于指定恢复日志文件的大小。这两个变量的值可以通过执行下面一行mysql命令来查看:
SHOW VARIABLES LIKE ‘innodb_log_file_size’;
SHOW VARIABLES LIKE ‘innodb_recovery_log_file_size’;
如果这两个值为空或者为0,那么可以通过在mysql命令行终端中执行SET GLOBAL命令,将其值设置为大于0的值,来解决该问题。例如,可以执行以下命令:
SET GLOBAL innodb_log_file_size = 1073741824;
SET GLOBAL innodb_recovery_log_file_size = 1073741824;
此外,需要重启mysql服务器,使修改的值生效。