我用MySQL构建了一个小应用程序。数据库类型是InnoDB。它托管在一些服务器上。我这么多次面临数据库崩溃。当我向托管服务提供商询问理由时,他们对我说:
问题是由于需要重建所有InnoDB表的InnoDB数据库损坏引起的。有些数据库虽然没有正确重建,但需要手动修复。这就是我做的。您无需进行任何更改。我们不希望这个问题很快再次发生。对由此造成的不便,我们深表歉意。
我告诉他们我必须使用InnoDB因为我需要与InnoDB建立的主键和外键关系。现在他们说:
这是正确的,MyISAM不支持外键。实际上,如果MySQL异常关闭,基于InnoDB的表很容易被破坏,例如在重启硬盘的情况下。相反,MyISAM更可靠,并且修复其表格很容易。
我的问题: 如果MySQL异常关闭,基于InnoDB的表容易被破坏,这是正确的吗?
答案 0 :(得分:0)
假设默认的MySQL设置,他们是完全错误的。
但如果你:
你会得到真正容易腐败的InnoDB。