MySQL 表被标记为崩溃,最后一次(自动?)修复失败

我正在修理这个表,突然服务器挂起,当我返回所有的表都没问题,但这一个显示’使用中’,当我试图修复它没有继续。

ERROR 144-Table’./extas _ d47727/xzclf _ ads’被标记为崩溃,最后一次(自动?)修复失败

我该怎么做才能修好它?

207939 次浏览

如果你的 MySQL 进程正在运行,停止它:

sudo service mysql stop

转到你的数据文件夹。在 Debian 上:

cd /var/lib/mysql/$DATABASE_NAME

试试跑步:

myisamchk -r $TABLE_NAME

如果这不管用,你可以试试:

myisamchk -r -v -f $TABLE_NAME

您可以重新启动 MySQL 服务器:

sudo service mysql start

如果它在移动到/var/lib/mysql 时拒绝授予您权限,那么可以使用以下解决方案

$ cd /var/lib/
$ sudo -u mysql myisamchk -r -v -f mysql/<DB_NAME>/<TABLE_NAME>

尝试运行以下查询:

repair table <table_name>;

我也有同样的问题,它解决了我的问题。

修复 <Your_table>表后转到 data_dir并删除 Your_table.TMP文件。

我错误地得到了 myisamchk: error: myisam_sort_buffer_size is too small

解决办法

myisamchk -r -v mysql/<DB_NAME>/<TABLE_NAME> --sort_buffer_size=2G

我需要将 USE _ FRM 添加到修复语句以使其工作。

REPAIR TABLE <table_name> USE_FRM;

我尝试了现有答案中的选项,主要是标记正确的那个,在我的场景中不起作用。然而,真正起作用的是使用 phpMyAdmin。选择数据库,然后选择表格,从下拉菜单中选择“修复表格”。

  • 服务器类型: MySQL
  • 服务器版本: 5.7.23-MySQL 社区服务器(GPL)
  • 版本信息: 4.7.7

这是百分之百的解决方案,我自己试过了。

Myisamchk-r-v-f —— sort _ buffer _ size = 128M —— key _ buffer _ size = 128M/var/lib/mysql/database asename/tabloname

如果 XAMPP 安装发生这种情况,只需将 global_priv.MADglobal_priv.MAI文件从 ./xampp/mysql/backup/mysql/复制到 ./xampp/mysql/data/mysql/即可。

这是我解决这个问题的经验,我正在使用 XAMPP。 我得到了下面的错误

 Fatal error: Can't open and lock privilege tables: Table '.\mysql\db' is marked as crashed and last (automatic?) repair failed

这就是我为了解决这个问题所做的,一步一步来:

  1. 转到位置 C: xampp mysql,对于您来说,位置可能不同,请确保您在正确的文件位置。
  2. 创建数据文件夹的数据旧备份。
  3. 从 C: xampp mysql 备份中复制文件夹“ mysql”
  4. 粘贴到 C 中: xampp mysql 数据替换旧的 mysql 文件夹。

而且成功了。请记住,我已经尝试了大约10个解决方案,他们不适合我。此解决方案可能适用,也可能不适用,但无论如何,在执行任何操作之前都要对数据文件夹进行备份。

注意: 我总是选择使用修复命令来解决这个问题,但是在我的例子中,我根本无法启动 mysql,也无法让 myisamchk 命令工作。

不管您做什么,都要为数据库创建定期备份。

在不停止数据库的情况下,我进入这个文件夹

Cd/var/lib/mysql/$DATABASE _ NAME

然后执行以下命令

Myisamchk-r-v-f $TABLE _ NAME

enter image description here

在没有任何问题的情况下,命令成功地完成并解决了问题

谢谢你

输入您的 mysql 并选择您的数据库 那么

修理台;

和我一起工作