服务器慢 mysql-bin.000001文件占满磁盘的原因与解决

时间:2023-12-16 16:08:26

发现 VPS 服务器上的网站反应超级慢,简单的重启、重启各主要服务,发现mysql 的反应极其不正常。

一方面是问题,这与站点访问量有关。开始时从mysql 的配置文件 my.cnf 考虑,但志文工作室在这里的问题并不是此原因。

排查过程中 df -lh 命令,发现系统主目录磁盘使用率 100% 了。
粗略估计应该是 /usr/ 下出了问题,执行命令:

du -h –max-depth=1 /usr/local/ | sort -nr | more

查看并分析结果,发现 /usr/local/mysql/var/ 目录异常,该目录下有众多类似这样的文件:mysql-bin.00001

这是数据库的日志文件,原因就在于此。那么我们可以删除它,执行命令:

/usr/local/mysql/bin/mysql -u root -p

输入密码后进入 mysql 命令行,执行:

reset master;

此时再查看日志文件是否已被清除。
日志文件一般用于主从服务器的备份恢复,这里是单服务器,那么就应该关闭日志记录。所以应该这么做,编辑 my.cnf 文件:

vim /etc/my.cnf

注释掉如下两行:

#log-bin=mysql-bin
#binlog_format=mixed

然后重启 mysql,若出现类似如下错误提示:

Starting MySQL.Manager of pid-file quit without updating fi[Failed]

这应该是日志索引的问题,删除文件 mysql-bin.index:

rm -f /usr/local/mysql/var/mysql-bin.index

然后再重启。此时若 mysql-bin.00001 这些文件还在,可删除之:

rm -f /usr/local/mysql/var/mysql-bin.000*