周一上班,测试环境下的linux服务器无法执行任何操作,用df -h命令查看磁盘空间使用情况,原来磁盘空间爆满,使用率为100%。然后,用du -h --max-depth=1命令进行文件大小和位置的定位,发现原来是mysql服务器数据量剧增。
为了定位具体是哪些表的数据量剧增,首先,使用navicat for MySQL的工具->服务器监控功能,解锁已经锁死的表;
然后,转到linux MySQL的文件所在目录,执行如下的命令,查找大小超过800M的文件;
[root@test~]#cd /var/lib/mysql/testdb
[root@test~]#find . -type f -size +800M -print
最后,在确认清空数据不会造成影响的情况下,清空这些数据量较大的表。
后来发现某些表被损坏了,需要进行修复。修复步骤为:
登陆mysql 终端:mysql -uxxxxx -p dbname
use testdb;
check table tabTest;
如果出现的结果说Status是OK,则不用修复,如果有Error,可以用:
repair table tabTest;
进行修复,修复之后可以在用check table命令来进行检查。
暂时解决问题之后,安排相关人员查找MySQL数据量激增的原因。