Mysql表崩溃。我应该每天修复吗?

问题描述:

蓝色的月亮,突然间,我的数据库中的所有数据都崩溃了。这不是第一次,我上次使用“修复表”命令并且很幸运能够修复它。但它再次发生,相同的表格,相同的错误,相同的解决方案。Mysql表崩溃。我应该每天修复吗?

Error: 
1194: Table 'users' is marked as crashed and should be repaired 

我需要每天/每周/每月修理我的表吗?是否有“表崩溃”问题的永久解决方案?它真的很可怕!请帮忙

+0

为什么要紧急?..... – YOU 2010-01-07 04:00:33

+1

鉴于现在这种情况已经多次发生在您身上,我确信这个想法已经在您的脑海中浮现,但您多久会备份一次?即使在相对不重要的网站上,我们也会每小时使用cron/mysqldump/rsnapshot(这给了我们一种简单的版本控制)。这往往会减少这种东西对胃的恐惧反应。 – 2010-01-07 04:00:38

+0

崩溃可能由许多事情引起。服务器重启内存问题等。说它的坠毁是不够的信息。需要更多的东西。追踪它们与科学一样是一门艺术。首先启用日志记录。答案可能在这 – DeveloperChris 2010-01-07 04:02:15

这不应该发生,如果你的表崩溃,这意味着你的系统出了问题。可能是坏的磁盘或坏的DRAM(或很多不太可能的东西,比如坏的pci-> sata桥等等)。如果您有其他系统,请尝试迁移到该系统并查看是否继续出现错误。

你确实有另外一个等效的系统,对吧?在主数据库崩溃的情况下,您需要尽快恢复备份?

我想它也可能是一个在mysql中的错误,请确保您使用的版本没有已知的错误。

要调试此问题,更不用说关于任何其他问题,请开始查看日志。如果你的MySQL服务器在Windows上运行,那么应用程序和系统就有事件日志,我会看看这些事件。如果您的MySQL服务器在Linux上运行,日志通常位于/ var/log下,您通常必须是root用户才能查看它们。在linux上查看的好方法是 tail(其中被文件的真实名称替换)。

正如您在另一个答案中已被建议,您可能有磁盘问题。在磁盘上运行硬件诊断。

无论你决定做什么,请不要依赖修复表;因为你很快可能无法。使用Informix SE数据库,我不得不重建一个表,并且表中的数据没有任何明显错误。这是一场噩梦,并且占据了周末的更多时间。我无法导出我们的测试和开发系统所依赖的数据库。