首页 / 知识

关于mysql:是什么原因导致表需要修复?

2023-04-17 09:47:00

关于mysql:是什么原因导致表需要修复?

What causes tables to need to be repaired?

每隔一段时间我都会收到一条错误消息,说我的一张桌子"被标记为已损坏,应该维修"。然后,我做一个维修台并修理它。是什么导致它们被标记为崩溃的,我该如何预防?我正在将MyISAM表与MySQL 5.0.45一起使用。


表损坏的原因可能有很多,在手册中将对此进行详细讨论。

为了对抗它,以下几项效果最好:

  • 确保您始终正确关闭MySQL
  • 考虑使用--myisam-recover选项在没有正确完成关机的情况下自动检查/修复表
  • 确保您使用的是最新版本,因为通常会尽快修复已知的损坏错误
  • 通过测试仔细检查您的硬件,看是否是引起问题的原因。诸如sysbench和memtest86之类的工具通常可以帮助验证事情是否按预期进行。
  • 确保没有任何东西在外部接触数据目录,例如病毒检查程序,备份程序等。

  • 我曾经像你一样从mysql中获取错误。

    我以这种方式解决了我的问题

  • 将所有myisam表转换为InnoDB(您可以在stackoverflow.com和搜索引擎中搜索" myisam vs InnoDB",并找出原因)
  • 为了从MySQL获得最佳性能,请使用第三方程序MONyog
    (MySQL Monitor and Advisor)并检查性能提示
  • 这两个步骤救了我。希望这些对您也有帮助。


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


    可能有很多事情,但是MySQL Performance Blog提到内存不足,操作系统或MySQL错误可能导致隐藏损坏。此外,该文章和另一篇文章还提到了执行崩溃恢复时要记住的几件事。


    损坏错误消息修理

    最新内容

    相关内容

    猜你喜欢