MySQL表被标记为崩溃,最后(自动?)修复失败
我正在修复这个表突然服务器被绞死,当我返回时,所有的表都可以,但这个显示“使用中”,当我尝试修复它不会继续。
ERROR 144 - Table './extas_d47727/xzclf_ads' is marked as crashed and last (automatic?) repair failed
我能做些什么来修复它?
如果您的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
尝试运行以下查询:
repair table <table_name>;
我有同样的问题,它解决了我的问题。
如果在移动到/ var / lib / mysql的时候拒绝你的权限,那么请使用下面的解决scheme
$ cd /var/lib/ $ sudo -u mysql myisamchk -r -v -f mysql/<DB_NAME>/<TABLE_NAME>
在修复<Your_table>
表后,转到data_dir
并删除Your_table.TMP
文件。
我得到myisamchk: error: myisam_sort_buffer_size is too small
因为错误。
解决scheme
myisamchk -r -v mysql/<DB_NAME>/<TABLE_NAME> --sort_buffer_size=2G
我需要将USE_FRM添加到修复声明以使其正常工作。
REPAIR TABLE <table_name> USE_FRM;