Error number: MY-012740; Symbol: ER_IB_MSG_915; SQLSTATE: HY000
Message: %s
错误说明
ER_IB_MSG_915错误是InnoDB引擎提供的一种MySQL服务器错误,它是一条具体的信息,指出InnoDB无法执行请求语句,因为它有太多闭包。ER_IB_MSG_915错误的错误号是MY-012740,SQLSTATE的错误代码是HY000。
常见案例
ER_IB_MSG_915错误常见于innodb_file_format与innodb_file_per_table选项之间产生的冲突 。 这发生的原因是,在更改innodb_file_format之前,设置的innodb_file_per_table选项的值可能与新的innodb_file_format值冲突。 执行出错的SQL语句可能无法安全执行,因为关于表空间文件格式的冲突可能会发生EXPLAIN操作。
解决方法
方法1:只需将innodb_file_per_table选项从1更改为0,然后再更改innodb_file_format选项即可解决此错误。如果MySQL服务器此前正在使用表空间格式,那么在尝试更改innodb_file_per_table选项之前,可能还需要转移当前所有表空间,将其迁移到共享表空间。
方法2:如果需要以新的表空间文件格式继续使用表空间,首先需要创建一个新的表空间(innodb_file_per_table = 0)。然后将所有表空间从旧的表空间迁移到新创建的表空间中。最后,再将innodb_file_per_table选项设置为1。这样可以解决ER_IB_MSG_915错误。