MySQL Error number: MY-012899; Symbol: ER_IB_MSG_1074; SQLSTATE: HY000

文档解释

Error number: MY-012899; Symbol: ER_IB_MSG_1074; SQLSTATE: HY000

Message: Error in creating %s: probably out of disk space

Error MY-012899 – ER_IB_MSG_1074 – HY000

错误说明

MY-012899 – ER_IB_MSG_1074是MySQL的一个错误代码,表明当MySQL服务器正在做一个表删除操作时,它无法删除表的某个外键元祖(tuple)。它和MySQL的InnoDB存储引擎有关,该类型存储引擎建立在MySQL 5.0之后已被实现。

常见案例

在很多情况下,MY-012899 – ER_IB_MSG_1074错误可能当尝试Test Database Developer在MySQL卸载一个表时被触发。此时,如果MySQL服务器运行在严格外键检查模式(strictforeignkeycheck mode)下,任何尝试从数据库中删除表的操作都会被阻止,因为表的某个外键元祖仍被另一个表引用。

另一种情况,就是在MySQL耗尽全部内存(memory)下触发的,尝试在MySQL应用的数据库中执行一个庞大的表和多个外键元祖,可能会引起内存溢出(overflow),并影响其它MySQL应用,最终会导致该错误信息出现。

解决方法

要解决该错误,客户可以在MySQL服务器上启用strictforeignkeycheck模式,以确保删除表之前,此表的外键元组不被另一个表引用。MySQL客户可以将此配置参数设置为ON或OFF,以实现此操作。另外,为了避免MySQL服务器耗尽内存,可以增加RAM,或者将MySQL数据库中之前建立的外键属性减少,减少表的外键元祖数量也可以避免此错误。

你可能感兴趣的