MySql5.0 Table错误is marked as crashed and last (automatic) repair failed

本文介绍了一种常见的数据库表损坏情况及其修复方法。首先通过检查正在运行的进程来确保没有操作正在进行,然后使用myisamchk工具进行修复。文章还特别提醒了在处理大型数据表时需要注意的问题。

 

错误分析:

此错误为表损坏,修复即可。一般原因为服务器突然断电,而有程序还在往表里写数据。或者表的数据很大。避免浪费时间去修表。注意服务器操作时停掉数据库。

解决办法:

首先进入数据库,执行命令 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  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值