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的支持。


数据运维技术 » MySQL Error number: MY-012680; Symbol: ER_IB_MSG_855; SQLSTATE: HY000 报错 故障修复 远程处理