代码之家  ›  专栏  ›  技术社区  ›  ejunker

是什么导致表格需要修复?

  •  11
  • ejunker  · 技术社区  · 17 年前

    我经常会收到一个错误,说我的一张桌子“被标记为已损坏,应该修复”。然后我做一个修理台并修理它。是什么导致它们被标记为崩溃的?我如何防止它?我将myisam表与mysql 5.0.45一起使用。

    4 回复  |  直到 17 年前
        1
  •  6
  •   Harrison Fisk    17 年前

    表损坏的原因可能有几个,在 manual .

    为了与之抗衡,以下事情最有效:

    1. 确保始终正确关闭MySQL
    2. 考虑使用--myisam recover选项在关闭不正确的情况下自动检查/修复表。
    3. 确保您使用的是最新版本,即已知的腐败漏洞通常会尽快修复。
    4. 通过测试再次检查硬件,看它是否导致了问题。类似工具 sysbench memtest86 通常可以帮助验证事情是否正常工作。
    5. 确保没有任何东西在外部接触到数据目录,如病毒检查程序、备份程序等…
        2
  •  3
  •   DGM    17 年前

    通常,当数据库没有正确关闭时,就会发生这种情况,例如系统崩溃或硬件问题。

        3
  •  3
  •   evilReiko    9 年前

    我以前和你一样从MySQL中得到错误。

    我用这种方法解决了我的问题

    1. 将所有myisam表转换为innodb(您可以在stackoverflow.com和搜索引擎中搜索“myisam vs innodb”,找出原因)
    2. 为了从MySQL获得最佳性能,请使用第三方程序monyog (mysql monitor和advisor)并检查性能提示

    这两步救了我。我希望这些对你也有很大帮助。

        4
  •  0
  •   Shinhan    17 年前

    可能有很多事情,但是 MySQL Performance Blog 提到可能导致隐藏的损坏的坏内存、操作系统或MySQL错误。而且,那个和 another article 在进行故障恢复时,请注意以下几点。