Error number: MY-012811; Symbol: ER_IB_MSG_986; SQLSTATE: HY000
Message: %s
MySQL错误ER_IB_MSG_986,常见于MySQL错误代码MY-012811,它是具有中断状态 HY000 的惯例 MySQL 错误。
错误说明
ER_IB_MSG_986 是 MyISAM 引擎中最经常发生的一种错误,它指出无法初始化表,即无法建立表的索引和主键。此错误会导致以下问题:
‘错误:无法初始化表’
表和字段的访问会失败/中断
无法更新表数据
无法插入数据
尝试查询表时会显示表不存在的错误
常见案例
常见的 ER_IB_MSG_986 错误的案例是当用户尝试建立新表时,但文件系统中已存在表文件,MySQL 尝试更新 (或建立或丢弃) 时出错,而不是删除表。如果没有错误日志,可以利用不兼容的字符集或复杂的索引技术也会发生这个错误。
解决方法
如果遇到 MySQL Error ER_IB_MSG_986 ,可以做以下几点:
检查是否存在表文件,并相应地删除它们,然后重新尝试创建表。
尝试将表和字段的默认字符集从 latin1 更改为utf8,然后再试一次。
在建立表时,不要使用复杂的索引结构。
尝试使用其他引擎,比如MyISAM变成InnoDB,或者反之,如果上述操作不起作用,请考虑更换为 InnoDB 引擎,重新尝试创建表。
如果所有上述步骤都不起作用,请使用MySQL 故障排除工具更深入地排查问题的根源。