分类
原创教程

用myisamchk修复MySQL数据库中提示“使用中”的表方法

如果您遇到数据库问题并尝试使用MySQL CLI客户端查看数据库,则在尝试查询某些表时可能会发现此错误:

MySQL Table ‘table_name’ is marked as crashed and last (automatic?) repair failed

这可能是由多种原因引起的,例如服务器上的硬重置,可用磁盘空间不足或MySQL进程因某些原因而崩溃。

如何解决这个问题(快捷方式)

1.使用SSH登录服务器

ssh root@example.com

2.停止MySQL服务

您可以通过运行以下命令来停止MySQL守护程序/服务:

service mysql stop

3.将目录更改为MySQL数据库

您的MySQL目录通常位于/ var / lib / mysql中

cd / var / lib / mysql / YOUR_DATABASE_NAME

4.运行myisamchk

然后通过执行以下命令运行myisamchk命令:

myisamchk -r table_name

如果出现报错:myisamchk: [ERROR] unknown variable ‘read_buffer=2M’
宝塔后台找到MYSQL管理》配置修改》注释:ead_buffer = 2M | write_buffer = 2M 注释掉就可以了

用您的实际MySQL表名替换table_name
输出:

root@example:/var/lib/mysql/database_name# myisamchk -r table_name

– recovering (with sort) MyISAM-table ‘table_name’
Data records: 0
– Fixing index 1
Found block that points outside data file at 1694719836
Data records: 5965594

再次启动MySQL服务

service mysql start

完了!
你的MySQL表现在应该再次工作,至少在我的情况下这解决了问题。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注


RECOMMENDED