错误分析:
此错误为表损坏,修复即可。一般原因为服务器突然断电,而有程序还在往表里写数据。或者表的数据很大。避免浪费时间去修表。注意服务器操作时停掉数据库。
解决办法:
首先进入数据库,执行命令 show processlist;查看正在对此表的操作,如果有repire 修复、 读表等相关进程kill 掉再修复。因有相关进程,修复的时候不会报错,但是发现修复完毕后,还是提示这个错误,即修复失败。
修复语句:
./myisamchk -c -r /data1/mariadb_data/databasename/**.MYI --tmpdir=/data1/tmp/ --sort_buffer_size=256M --key_buffer_size=256M --read_buffer_size=2M --write_buffer_size=2M
星号 × 代表表名称。在安装目录的 bin/ 下执行。
注意: 如果数据表很大,一定要加上 参数:否则执行一段时间后会出现如下错误
MySQL – myisamchk: error: myisam_sort_buffer_size is too small
本文介绍了一种常见的数据库表损坏情况及其修复方法。首先通过检查正在运行的进程来确保没有操作正在进行,然后使用myisamchk工具进行修复。文章还特别提醒了在处理大型数据表时需要注意的问题。

被折叠的 条评论
为什么被折叠?



