MySQL Error number: MY-012680; Symbol: ER_IB_MSG_855; SQLSTATE: HY000 报错 故障修复 远程处理
文档解释
Error number: MY-012680; Symbol: ER_IB_MSG_855; SQLSTATE: HY000
Message: %s
错误说明:
MY-012680(ER_IB_MSG_855)是MySQL 5.7及更高版本中常见的一种错误,此错误消息提示“未知的innodb_table_flags值”,这是innodb存储引擎中表格相关属性标记不支持而引发的一种错误。对于此错误,MySQL将在错误日志中显示消息,内容如下:
InnoDB: Error: unknown innodb_table_flags value 0xd83a8f2c
常见案例
此错误会发生在应用程序尝试创建InnoDB表时,应用程序以MySQL里不支持的InnoDB标记进行创建。其中,最主要的原因就是MySQL多个版本之间的InnoDB标记,特别是在导出导入数据库的时候,不同的MySQL版本之间标记的略有差别,会造成此类错误出现。
解决方法:
要解决此问题,最重要的一点就是确定InnoDB表中使用的标记,以便与MySQL版本比较,然后根据要求修改标记。具体方法有:
(1) 首先在MySQL数据库中查询innodb_table_flags列:
select innodb_table_flags from information_schema.tables;
这将显示在MySQL 数据库中表格标记列表。
(2) 运行SELECT @@GLOBAL.INNODB_TABLE_FLAGS语句:
SELECT @@GLOBAL.INNODB_TABLE_FLAGS;
这将显示当前MySQL版本支持的innodb_table_flags值
(3) 仔细比较MySQL数据库中表格标记列表与MySQL版本支持的innodb_table_flags值,将可能有问题的标记修改或删除。此操作可帮助你消除此错误,同时使你的数据库安全。
最后,如果你仍然不能解决此问题,请确保MySQL版本与innodb_table_flags一致。如果仍然不能消除此错误,可以考虑升级MySQL版本,以确保innodb_table_flags的支持。