首页 > 代码库 > 阿里云ECS(linux)磁盘满触发的mysql的表异常修复案例

阿里云ECS(linux)磁盘满触发的mysql的表异常修复案例

阿里云ECS(linux)磁盘满触发的mysql的表异常修复案例

 阿里云技术支持:完颜镇江

 

问题现象:

磁盘空间满了,第一想到的就是删除无用的服务日志或者升级数据盘。

通常是使用du –sh去分析目录找出占用最大的。

根据经验来说基本都是日志文件占用的,那么就是停止应用清理日志,或者清理日志后重启应用即可。

 

但是本实例的异常是网站主页正常,但是子导航的内容为空,首先怀疑的就是磁盘满了导致mysql数据库的数据异常。

 

问题排查:

排查的方法是打开mysql的errlog

添加以下配置重启mysql服务(在[mysqld]下添加)

log-error=/usr/local/mysql/log/error.log

#tail –f /usr/local/mysql/log/error.log(在刷新错误的页面的时候mysql出现异常的部分,顺便查看日志)

140406 12:48:52 [ERROR]/www/wdlinux/mysql-5.1.63/libexec/mysqld: Table ‘./admin/pre_forum_post‘ ismarked  as crashed and should be repaired

 

很明显了就是MySQL常由于某种原因,出现表Crash,需要repair。

修复的命令如下

#myisamchk -c-r   /www/wdlinux/mysql-5.1.63/var/admin/pre_forum_post.MYI

- Fixing index 1

- Fixing index 2

- Fixing index 3

- Fixing index 4

Date records:42880

 

这样就成功了修复了数据库表,重启下mysql服务网站正常了。

?

阿里云ECS(linux)磁盘满触发的mysql的表异常修复案例