导致MyISAM腐败的原因是什么?

时间:2009-04-11 12:12:29

标签: mysql myisam

我听说MyISAM表可能会损坏,哪种行为最有可能破坏它们,以及如何安全地修复这些损坏。

5 个答案:

答案 0 :(得分:6)

答案 1 :(得分:4)

我有一个生产服务器,如果出现冷复位(例如电源故障),更新过程中的所有MyISAM表都会损坏。 mysqlcheck 解决了这个问题。 我建议将 mysqlcheck 与--auto-repair选项放在一个cron中,以修复运行时发生的罕见损坏情况。

答案 2 :(得分:3)

我有时会得到MyISAM的腐败。在我的服务器上问题是非常繁重的负载,可以压倒MySQL导致它挂起。在现实世界中发生的事情;)

答案 3 :(得分:1)

MyISAM的另一个问题(虽然严格来说不是真正的数据库损坏)是它不能正确支持事务(commit - rollback)。

可能迟早也可能导致数据完整性问题(取决于数据库层的实施质量)。

在我看来,这使得MySQL中的“快速”MyISAM 后端只能用于真正简单或非常小的数据库......

答案 4 :(得分:0)

据我所知,我发现电源故障或同步突然中断会导致Myisam数据损坏。

在这里切换到innodb是最好的选择。