MySQL Error number: MY-012866; Symbol: ER_IB_MSG_1041; SQLSTATE: HY000 报错 故障修复 远程处理
文档解释
Error number: MY-012866; Symbol: ER_IB_MSG_1041; SQLSTATE: HY000
Message: %s
错误说明:
ER_IB_MSG_1041错误码表示InnoDB发现了未知的KBLZ定长列格式,表示无法识别压缩功能。这是由于MySQL尝试加载数据库或表时,发现版本号不正确或编码包装时发生冲突、老版本的InnoDB存储引擎没被使用,导致KBLZ定长列格式无法被正常识别。
常见案例
1. 尝试使用支持KBLZ定长列格式的新MySQL版本加载一个遗留数据库或表。新版本中,压缩会以定长列格式保存,但可能会与之前版本的KBLZ定长列格式冲突,导致无法识别。
2. 使用支持KBLZ定长列格式的老版本MySQL虽能正常使用,但由于旧版本中的InnoDB存储引擎没被使用,KBLZ定长列格式无法被正常辨认。
解决方法:
1. 可以尝试直接更新MySQL的版本,使用新版本的MySQL来替代老版本的MySQL,以解决KBLZ定长列格式的冲突问题。
2. 如果不想更新整个MySQL版本,则需要使用InnoDB提供的“innodb_file_per_table”和“innodb_file_format_check”参数来显式指定文件版本或格式。另外,你也可以使用MySQL提供的JDBC或ODBC驱动程序来获取最新的InnoDB文件格式并创建表。