18

如果表崩溃,则意味着我的系统有问题。

MySQL said: 

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

由于这个原因,我的网站目前已关闭。

我知道如何从 phpmyadmin 修复表,但它是安全的修复方式吗?

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

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

答案。这些可能是原因——

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

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

  3. 更多的服务器负载。

4

7 回答 7

24

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

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

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

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

或者开始测试:

mysqlrepair -A -c
于 2013-06-04T11:28:00.313 回答
21

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

REPAIR TABLE db_name.table_name;
于 2015-05-04T17:21:07.567 回答
5

采用:

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

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

于 2015-03-13T05:45:53.813 回答
5

解决方案 :

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

在此处输入图像描述

于 2017-05-30T15:03:40.357 回答
4

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

于 2013-06-04T11:03:05.743 回答
1

我从命令行使用它:

mysqlcheck -u root -p --auto-repair --check --optimize --all-databases
于 2014-06-11T15:29:32.983 回答
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

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

Repair table db.mytablecrashed

你进入最后一行:

Table               OP        Msg_type  Msg_text
...
db.mytablecrashed   repair    status    OK
于 2015-10-28T16:29:21.067 回答