【问题标题】:MySQL said: #1194 - Table 'tablename' is marked as crashed and should be repairedMySQL 说:#1194 - 表 'tablename' 被标记为崩溃,应该修复
【发布时间】:2013-05-30 17:13:08
【问题描述】:

如果表崩溃,则表示我的系统有问题。

MySQL said: 

#1194 - Table 'tablename' is marked as crashed and should be repaired 

因此,我的网站目前已关闭。

我知道如何从 phpmyadmin 修复表,但修复方法是否安全?

造成这个问题的重要因素是什么?

问题。一般来说,为什么表会崩溃?

答案。这些可能是原因 -

  1. 服务器的磁盘空间已满。 (请检查实时服务器中的磁盘空间)

  2. MySQL 服务器关闭不正确/使用数据库时关闭表不正确。

  3. 更多的服务器负载。

【问题讨论】:

  • 你可以发布查询吗?
  • 这可能会有所帮助mysqlperformanceblog.com/2007/11/13/…
  • 一般来说,为什么表会崩溃?”因为它是 MyISAM……它以不安全着称。
  • 您当前的系统正常运行时间是多少?可能是系统关闭不当。检查日志,包括 /var/log/messages 和 mysqld.log,可能是 OOM 杀手或 mysqld 进程失败。
  • 如果磁盘空间已满会怎样?

标签: php mysql sql phpmyadmin


【解决方案1】:

首先 - 导致表崩溃的原因有很多。

  • 硬盘故障
  • 服务器突然重启
  • 服务器崩溃
  • 固件问题(RAID 控制器或 BIOS)
  • 布线缺陷

使用 phpmyadmin 进行修复与 mysqlrepair 命令行基本相同。我建议在命令行上修复所有内容:

mysqlrepair -A --auto-repair
mysqlrepair -A -o

或者开始测试:

mysqlrepair -A -c

【讨论】:

  • 它说没有安装mysqlrepair。这和运行 mysqlcheck -uUSER -pPASSWORD --repair --extended -A 一样吗
【解决方案2】:

如果您不需要命令行工具,并且崩溃的原因很可能是 MYSQL 本身,请从 MYSQL 运行此命令来修复表:

REPAIR TABLE db_name.table_name;

【讨论】:

    【解决方案3】:

    用途:

    mysqlcheck -u root -p --auto-repair --check --all-databases
    (Password prompted)
    

    输入root用户的MySQL密码,一切就完成了。

    【讨论】:

      【解决方案4】:

      解决方案:

      只需转到数据库并选择有问题的表选择“修复表”选项它将修复表中的崩溃条目并解决您的问题

      【讨论】:

        【解决方案5】:

        是的,您可以从 phpmyadmin 修复表,它不会影响您的数据,您还可以使用“myisamchk”命令从 shell 修复表。

        【讨论】:

          【解决方案6】:

          我从命令行使用这个:

          mysqlcheck -u root -p --auto-repair --check --optimize --all-databases
          

          【讨论】:

          • 它给出:“错误:mysqlcheck 不支持多个相互矛盾的命令。”
          • 对,我也遇到了同样的错误。删除 --optimize 然后它将起作用。
          【解决方案7】:

          如果你有 ssh 访问服务器的权限,你可以登录然后执行:

          df -h
          

          你会看到这样的东西:

          Filesystem            Size  Used Avail Use% Mounted on
          /dev/cciss/xxxx      19G  825M   18G   5% /
          /dev/cciss/xxxx     9.4G  4.8G  4.2G  54% /usr
          /dev/cciss/xxxx      15G  1.8G   12G  13% /var
          /dev/cciss/xxxx      19G   18G    0G   0% /opt
          /dev/cciss/xxxx     4.7G  243M  4.3G   6% /tmp
          /dev/cciss/xxxx     9.4G  1.5G  7.5G  17% /home
          

          它是安装在/opt上的LAMP,在有一些可用磁盘空间后,您可以运行查询(如上所写):

          Repair table db.mytablecrashed
          

          然后你进入最后一行:

          Table               OP        Msg_type  Msg_text
          ...
          db.mytablecrashed   repair    status    OK
          

          【讨论】:

            猜你喜欢
            • 2015-09-17
            • 2020-02-11
            • 2011-05-20
            • 2019-12-30
            • 1970-01-01
            • 2012-08-05
            • 2023-01-23
            相关资源
            最近更新 更多