mysql-bin占用空间太大 清理删除mysql日志文件
博客因服务器磁盘用完无法访问,今天索性彻底清理下大文件。
查找磁盘大文件,大于100M文件如下find / -type f -size +100M
大文件内容主要为/usr/local/src下下载的软件以及mysql产生的log-bin日志(其中有4G+)
mysql-bin.000001 ... 文件为mysql数据库的日志文件,用于记录mysql的语句执行,主要用于:
- 数据恢复
如数据库出现问题或操作失误等,可通过查看日志文件查找对应命令或恢复 - 主从服务器之间同步数据
主服务器上所有的操作都在记录文件中,从服务器可根据日志进行,确保两者同步
解决:
如果只有一个mysql服务器,对数据库操作没有严格要求,可通过注释/etc/my.cnf
中log-bin
一行,重启mysql服务。同时删除之前日志文件。(登陆mysql执行:reset master
命令即可)
如果为主从服务器,则:
- 在每个从服务器上执行
show slave status
检查该从服务器正在读取哪个日志 - 使用
show master logs
获取主服务器上的一系列日志 - 在所有的从服务器中判断最早的日志,这个是
目标日志
,如果所有的从服务器是更新的,就是清单上的最后一个日志 - 清理所有除
目标日志
的其他日志
清理日志方法:purge master logs to 'mysql-bin.000001'
purge master logs before '2018-08-31 22:08:00'
如果确定所有从服务器已经同步跟主服务器一致,则可直接执行reset master
命令