概述
最近准备对MySQL做优化,修改配置文件后MySQL无法正常启动,猜测是个别参数问题,不过后来发现服务器一直卡死,所以重启了下服务器,也就是这个重启服务器发现了一些很奇怪的现象。
现象
在服务器重启后发现以下问题:执行一些基本命令会hang死。
而且发现MySQL进程无法kill掉
排查过程
1、查看磁盘、内存
可以发现磁盘、内存都正常
2、查看服务器整体情况
在用top命令的时候发现IO存在瓶颈,已经达到98%了
3、查看是否有异常用户操作
好吧,都是我的IP地址,那应该是MySQL的问题导致了。
4、计划用iotop进一步分析
本来想用iotop来分析具体是哪个进程影响的IO问题,但发现系统之前没装这工具..而目前IO满了,用yum又装不了这工具,只能选择最后一个办法了。
5、重启大法
重启前发现之前的配置文件是有点问题的,写了两个[mysqld],修改回正确的配置文件,禁止MySQL开机自动启动,然后重启(注意只能手动重启)。
6、重启后
重启后手动重启MySQL正常。
问题应该是在这:我之前配置文件不小心写了两个[mysqld],也就是配置文件错误了,但是服务器重启了(MySQL进程是开机自动启动的),然后MySQL进程就处于这种僵死状态,导致磁盘IO一直是满的,改好配置文件后手动重启就可以了。