学海无涯 个人blog lnmps.com 新站
分类: Mysql/postgreSQL
2013-03-27 16:45:15
原文地址:MySQL数据库表损坏解决办法 作者:fengzhanhai
过程处理:
1、早上登录统一信息平台发现IMU服务异常;
2、检查相关进程发现mysql及web应用服务均已消失;
3、告知主机维护人员请其帮忙查看服务器运行状况发现服务器在7月8号重启过。
4、经查看数据库及应用系统日志发现应用频繁打印如下错误信息:/gc_tech/tab_staff is marked as crashed and should be repaired
5、通过分析日志发现由于服务器重启导致IMU数据库表tab_staff损坏;
6、重启mysql得到当前数据库存储路径并定位到该表对应的myi文件:tab_staff.MYI
重启后得到路径如下:
/usr/local/mysql/data/gc_tech/tab_staff.MYI
5、以root账号切换到mysql程序部署路径:
mysql安装路径如下:/usr/local/mysql/bin
6、执行以下mysql自带修复命令:
./myisamchk -c -r /usr/local/mysql/data/gc_tech/tab_staff.MYI
返回以下信息则表示修复成功:
Data records: 12386
- Fixing index 1
- Fixing index 2
7、重启mysql和imu服务并检查应用恢复正常。
总结分析服务器重启导致表损坏原因可能是在用户正在读数据或者写数据时服务器重启致使数据库的表损坏,建议维护人员需要重启服务器时需先停止相关应用后再做停机处理。