142

我正在修理这张桌子,服务器突然挂了,当我返回时,所有桌子都正常,但是这张显示“正在使用”,当我尝试修复它时,它没有继续。

错误 144 - 表 './extas_d47727/xzclf_ads' 被标记为崩溃并且最后一次(自动?)修复失败

我能做些什么来修复它?

4

11 回答 11

292

如果您的 MySQL 进程正在运行,请停止它。在 Debian 上:

sudo service mysql stop

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

cd /var/lib/mysql/$DATABASE_NAME

尝试运行:

myisamchk -r $TABLE_NAME

如果这不起作用,您可以尝试:

myisamchk -r -v -f $TABLE_NAME

您可以再次启动 MySQL 服务器。在 Debian 上:

sudo service mysql start
于 2012-01-12T23:22:48.840 回答
127

尝试运行以下查询:

repair table <table_name>;

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

于 2014-09-11T01:02:03.580 回答
15

如果它在移动到 /var/lib/mysql 时给您拒绝权限,请使用以下解决方案

$ cd /var/lib/
$ sudo -u mysql myisamchk -r -v -f mysql/<DB_NAME>/<TABLE_NAME>
于 2013-11-08T07:33:41.780 回答
13

这是我解决这个问题的经验。我正在使用 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\backup 复制文件夹“mysql”
  4. 将其粘贴到 C:\xampp\mysql\data\ 中,替换旧的 mysql 文件夹。

它奏效了。请记住,我已经尝试了大约 10 种解决方案,但它们对我不起作用。此解决方案可能适合您,也可能不适合您,但无论如何,请在执行任何操作之前备份您的数据文件夹。

注意:我总是选择使用修复命令来解决这个问题,但就我而言,我根本无法启动 mysql,也无法让 myisamchk 命令正常工作。

无论您做什么,都要定期备份您的数据库。

于 2021-02-12T14:10:37.430 回答
7

我需要将 USE_FRM 添加到修复语句中以使其工作。

REPAIR TABLE <table_name> USE_FRM;
于 2017-05-10T13:13:52.320 回答
4

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

解决方案

myisamchk -r -v mysql/<DB_NAME>/<TABLE_NAME> --sort_buffer_size=2G
于 2015-02-26T07:33:53.653 回答
2

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

于 2015-01-02T14:26:35.463 回答
2

如果这发生在您的 XAMPP 安装中,只需global_priv.MADglobal_priv.MAI文件./xampp/mysql/backup/mysql/./xampp/mysql/data/mysql/.

于 2021-01-24T14:56:32.007 回答
1

这是一个 100% 的解决方案。我自己试过了。

myisamchk -r -v -f --sort_buffer_size=128M --key_buffer_size=128M /var/lib/mysql/databasename/tabloname

于 2019-06-19T12:32:15.327 回答
0

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

  • 服务器类型:MySQL
  • 服务器版本:5.7.23 - MySQL 社区服务器 (GPL)
  • phpMyAdmin:版本信息:4.7.7
于 2018-10-21T12:41:10.467 回答
0

在不停止数据库的情况下,我转到此文件夹

cd /var/lib/mysql/$DATABASE_NAME

然后执行以下命令

myisamchk -r -v -f $TABLE_NAME

在此处输入图像描述

没有任何问题,命令成功完成并解决了问题

谢谢

于 2021-10-28T05:22:19.607 回答