mysql task_log.ibd 文件占用大量磁盘空间引发的血案

早起访问 gitvim.com , logo出来了,但是首页内容一直是空白的,F12 打开看加载完了,但是我这网站怎么挂啦?没有一丁点页面文字?

快速排查日志, 先查 nginx 日志

tail -f /var/log/nginx/error.log

发现 Nginx 错误日志是空的,这说明业务服务器没有问题。但是在这里敲命令的过程中,发现 tab 键失效了,一直弹出来

[root@api nginx]# less ac-bash: cannot create temp file for here-document: No space left on device

一开始我没太在意,以为是自己的键盘快捷键重合导致的。然后继续排查 Nginx 访问日志。

[root@api nginx]# less ac-bash: cannot create temp file for here-document: No space left on device

tail -f /var/log/nginx/access.log

一看,也是空的。也没啥毛病。我就纳闷了,难道是 PHP 出现了问题?

ps -ef | grep  nginx

ps -ef | grep php

ps -ef | grep mysql

发现 Nginx master 进程和 4个 worker 好好的,php 进程也在,mysqld 进程也在。我就纳闷了。

于是我返回去查看 tab 键导致的 No space left on device  这个问题。这说明磁盘占用快满了。但是从哪里开始找呢? 

第一反应是 /var/log 目录可能是最先满的。于是,先看下日志目录占用多大磁盘。

[root@api ~]# du -sh /var/log

4.5G /var/log

仅仅占用了 4.5G, 我这台服务器 一共 50G 的磁盘总量。这说明有问题的大文件不出自这里。

索性从根目录一路查下去,最后发现罪魁祸首是这个目录的文件 task_log.ibd

mysql-lbd
mysql-log-lbd-is-too-big

去网上找了一圈,发现这个属于MySQL 日志相关的,于是把这个文件给清空掉。

清空大文件有很多命令可以使用,这里罗列一部分我用过的 Linux 清空大文件的命令,供有兴趣的同学使用。
> file.log
: > file.log
true > file.log
cat /dev/null > file.log
cp /dev/null > file.log
dd if=/dev/null of=file.log
echo “” > file.log
truncate -s 0 file.log
上面这对命令,都可以把大文件清空,如果担心一次清空内容太多,可以写个 shell 脚本,使用 truncate 命令 – s 指定 size 慢慢删除。
清 空文件之后,连接 MySQL , 发现还是不行,不过这次是提示 ERROR 2002 (HY000)。继续上网搜一下这个问题,跑去 csdn   
看了一下类似的问题。

[root@api crontab]# mysql -uroot -p

Enter password:

ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (111)

怀疑 MySQL 这次挂啦,重新查询 MySQL 端口。
lsof -i :3306
没找到,说明 MySQL 服务真的 shutdown 了。于是用这个命令重启 Mysql 服务(其实我安装的是 MariaDB, 但是命令都是用的 MySQL相关的,几乎和 MySQL 一模一样)。
systemctl start mariadb.service 
重新访问 gitvim.com ,首页平头哥0618 内容瞬间加载出来了,网站已经恢复正常正常。

4 thoughts on “mysql task_log.ibd 文件占用大量磁盘空间引发的血案”

  1. Have you ever considered about adding a
    little bit more than just your articles? I mean, what you say is valuable and all.
    But imagine if you added some great photos or video
    clips to give your posts more, “pop”! Your content is excellent but with
    pics and clips, this site could undeniably be
    one of the greatest in its niche. Awesome blog!

    Look at my blog post – best THC vape carts (Madeline)

Leave a Comment

Your email address will not be published. Required fields are marked *