我听说MyISAM表可能会损坏,哪种行为最有可能破坏它们,以及如何安全地修复这些损坏。
答案 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是最好的选择。