MySQL Error number: MY-011835; Symbol: ER_IB_MSG_10; SQLSTATE: HY000

文档解释

Error number: MY-011835; Symbol: ER_IB_MSG_10; SQLSTATE: HY000

Message: %s

MySQL 错误 MY-011835: ER_IB_MSG_10

所属:InnoDB

SQLSTATE: HY000

错误说明

MySQL 在处理 InnoDB 时出现 ER_IB_MSG_10,这是一个错误代表着 InnoDB 内部错误。如同其它的 InnoDB 错误,通常与 InnoDB 文件的 currupted(破损)有关,其可能源于一些 I/O错误,比如,硬盘故障或者不安全的系统在 InnoDB 文件系统上操作。

常见案例

常见情况下,MySQL 和 InnoDB 的日志文件都会检索到这个错误,日志显示以下错误:

InnoDB: Operating system error number 5 in a file operation.

InnoDB: Error: File ‘/(-path-)/ib_aerauto.ibd’ not found.

InnoDB: Have you deleted or moved .ibd files?

InnoDB: It is also possible that this buffered error

InnoDB: refers to another highway with the same name.

解决方法

这个错误的首要解决方法是尝试避免受到系统 I/O 错误的影响。这可以通过设置比如 SYSTEMD.DEFAULT_IO_SCHEDULER 、 xfs_io 或者 fdatasync_pausing_on_activity 这三种 osd 保护方法来提高操作系统 I/O 的可靠性。

另外,提供一些容错和备份来减少系统 bug 对 InnoDB 文件的影响。例如收集 InnoDB 为表格保卫的数据、持续备份数据并且检查备份文件的完整性,以及执行定期恢复运行一段时间后的数据备份。

如果上述方法不能解决 ER_IB_MSG_10 的问题,用户可以尝试使用 mysqladmin 命令将InnoDB引擎关闭掉以及重新启动:

mysqladmin -u root -p shutdown

mysqld_safe – innodb_force_recovery

最后,可以使用 Percona InnoDB Monitors 去更加细心的检查 InnoDB 文件的状态并恢复,以及尝试使用更加受信任的备份副本恢复。

你可能感兴趣的