Error number: MY-012799; Symbol: ER_IB_MSG_974; SQLSTATE: HY000
Message: %s
错误说明
MY-012799(ER_IB_MSG_974,HY000)错误就是InnoDB存储引擎返回的一个错误,发生这个错误提示,一般是InnoDB无法处理特殊形式的SQL语法。
常见案例
当MySQL初始化脚本时,会抛出这个错误;
老的SQL伴随语句刚开始,也会出现这个错误;
有可能某个表空间的大小超过了系统设置的最大值,导致无法插入该表空间,这个也会出现 ER_IB_MSG_974 错误;
有可能系统总体缓存系统大小(innodb_buffer_pool_size)比较小,无法支撑业务使用,这个也会抛出该错误。
解决方法
在MySQL初始化脚本中发生ER_IB_MSG_974时,采用手动忽略该语句的方式,尝试将其添加到ignore-error中;
增大系统缓存系统大小(innodb_buffer_pool_size),至少设置为2GB以上;
确保表空间大小不超过系统设置的最大值,如果必须要插入一个过大的表空间,先将内容清空,再插入一个较小的表空间;
更换伴随语句开始后,采用最新的SQL语法,如果把老的SQL改成新的SQL后,解决了该错误,表示采用了新的SQL语法可以解决该错误。