MySQL说:#1194 - 表'tablename'被标记为崩溃,应该修复

时间:2013-06-04 10:34:26

标签: php mysql sql phpmyadmin

如果表格崩溃,则意味着我的系统出现了问题。

MySQL said: 

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

我的网站目前因此而失败。

我知道如何从phpmyadmin修复表,但它是否可以安全修复?

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

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

答案。这可能是原因 -

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

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

  3. 更多服务器负载。

7 个答案:

答案 0 :(得分:20)

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

  • 硬盘故障
  • 突然重启服务器
  • 服务器崩溃
  • 固件问题(raid controller或bios)
  • 布线缺陷

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

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

或者开始测试:

mysqlrepair -A -c

答案 1 :(得分:12)

如果您没有所需的命令行工具,崩溃的原因很可能是MYSQL本身,请从MYSQL运行以修复表:

REPAIR TABLE db_name.table_name;

答案 2 :(得分:4)

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

答案 3 :(得分:1)

我在命令行中使用它:

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

答案 4 :(得分:1)

使用:

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

输入root用户的MySQL密码,一切都已完成。

答案 5 :(得分:1)

解决方案:

只需转到数据库并选择表格即可解决问题并选择"修复表格"选项它将修复表中的崩溃条目并解决您的问题

enter image description here

答案 6 :(得分:0)

如果您拥有对服务器的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