MySQL Error number: MY-012184; Symbol: ER_IB_MSG_359; SQLSTATE: HY000 报错 故障修复 远程处理
文档解释
Error number: MY-012184; Symbol: ER_IB_MSG_359; SQLSTATE: HY000
Message: %s
错误说明
MySQL错误号码 MY-012184,符号 ER_IB_MSG_359,SQLSTATE HY000 暗示“提供给 InnoDB 用的 space id 无效。”这是一个内部错误,不会因为用户输入,或是使用者操作引起,它会因为程序代码中的某部分数据出现错误而产生。
常见案例
很多用户都报告此类 questions 和有权查看表的ACTIONS。我们可以看出在这些问题中,每一个人都是在做不同的操作,并且表中包含JSON 数据类型,尽管它们用不同的 MySql 版本:5.7.6-m13,5.7.18 和 5.7.28。
解决方法
重新加载 InnoDB 的 space 是解决这个问题的最快方法:
1. 先对服务器上的数据库做备份。
2. 关闭 MySQL。
3. 将 /var/lib/mysql/data目录下的ibdata1,ib_logfile0和ib_logfile1重命名成新的新名字,(例如____ibdata1,____ib_logfile0和____ib_logfile1)。
4. 重新启动MySQL。
5. 对每个表执行OPTIMIZE TABLE 语句,来清理表上的损害,防止出现更多的问题。
若是上述方法没有解决问题,那么尝试运行MySQL支持服务,去重新加载状态space和空间ID,要确保每份资料都是安全的,并且没有损坏。如果没有能够识别数据,就可以尝试恢复不同的备份。