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

如何在不使用phpMyAdmin的情况下修复MySQL表?

  •  4
  • Alexar  · 技术社区  · 15 年前

    我有一个包含复杂列的表,我开始用大量数据填充它,在这期间,它崩溃了。

    表报告为崩溃,需要修理。

    phpmyadmin中的修复表无法修复它。

    然后我决定再次开始填充过程,但我甚至无法检索表结构。

    我怎样才能找回数据?或者只是结构?

    (我在amd四元系统上的xampp/windows下运行mysql)

    2 回复  |  直到 8 年前
        1
  •  9
  •   Mike Sherov    15 年前

    PHPMyadmin在执行长查询时往往会出现问题。如果它没有做修复表,有一个特定的错误信息,请张贴它。如果它刚刚挂起,您应该尝试使用命令行版本的mysql进行修复,它位于mysql安装的bin目录中。

    mysql -u username -p
    mysql> use dbname;
    mysql> repair table tablename;
    

    根据桌子的大小,这可能需要一段时间。

    如果这不起作用,那么下一步就是在表使用MyISAM引擎的情况下使用myisamchk。

        2
  •  6
  •   Pekka    15 年前

    如果你的桌子在密桑, myisamchk 是第一个要检查的工具。它存在于 /bin mySQL安装目录。这是它的清单 repair options .

    明智的做法是在运行之前备份数据目录 myisamchk 在上面,以防万一。

        3
  •  0
  •   Siraj Ali    4 年前

    转到phpmyadmin并检查哪个表被压碎,然后从下拉列表中选择Repair table选项。

    此处是“修复”按钮的位置:

    enter image description here