每隔一段时间我都会收到一个错误,说我的一张桌子"被标记为崩溃,应该修复".然后我做一个REPAIR TABLE并修复它.是什么导致他们被标记为崩溃,我该如何防止它?我正在使用MySQL 5.0.45的MyISAM表.
表格损坏可能有几个原因,手册中会对此进行详细讨论.
为了对抗它,以下事情最有效:
确保始终正确关闭MySQL
考虑使用--myisam-recover选项在未正确关闭的情况下自动检查/修复表
确保您使用的是最新版本,因为已知的损坏错误通常是尽快修复的
通过测试仔细检查您的硬件,看它是否导致问题.像sysbench和memtest86这样的工具通常可以帮助验证事情是否正常运行.
确保没有任何东西在外部触及数据目录,例如病毒检查程序,备份程序等...