Table错误is marked as crashed and last (automatic) repair failed
错误分析:
此错误为表损坏,修复即可。一般原因为服务器突然断电,而有程序还在往表里写数据。或者表的数据很大。避免浪费时间去修表。注意服务器操作时停掉数据库。
解决办法:
首先进入数据库,执行命令 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
————————————————
原文链接:https://blog.csdn.net/u012675743/article/details/53447558
./myisamchk -c -r /data/mysql/shangcheng/ecs_sessions.MYI --tmpdir=/data/mysql/tmp/ --sort_buffer_size=256M --key_buffer_size=256M --read_buffer_size=2M --write_buffer_size=2M