分类
Linux技巧

mysql-bin.000001占用主机空间的解决方法

Mysql运行一段时间后会在主机名录 /usr/local/mysql/var 下生成大小不等的日志文件,文件命名大概是mysql-bin.000001~mysql-bin.000xxx 按顺序排列,是mysql的日志文件,可以用来恢复mysql数据库。随时间推移他们会占用大量主机空间,一般我们会用数据库备份文件直接恢复mysql,这些日志文件的意义不大。mysql-bin.000001占用大量主机空间的解决方法很简单,只需要用mysql删除mysql-bin.000001 日志文件即可。

Mysql运行一段时间后会在主机名录 /usr/local/mysql/var 下生成大小不等的日志文件,文件命名大概是mysql-bin.000001~mysql-bin.000xxx 按顺序排列,是mysql的日志文件,可以用来恢复mysql数据库。随时间推移他们会占用大量主机空间,一般我们会用数据库备份文件直接恢复mysql,这些日志文件的意义不大。mysql-bin.000001占用大量主机空间的解决方法很简单,只需要用mysql删除mysql-bin.000001 日志文件即可。

1.首先看看日志文件占用了多大空间,如果日志很长时间没有清理会占数GB

[[email protected] var]# du -h –max-depth=1 /usr/local/mysql/

2.登陆mysql

[[email protected] var]# /usr/local/mysql/bin/mysql -u root -p

3.在mysql中清除日志

mysql> reset master;

再次查看var空间会发现增大不少,mysql-bin.000001~mysql-bin.000xxx文件也自动消失。如果不想每次都手动清理,也可以直接修改配置文件让mysql不保存日志。

[[email protected] var]# find / -name my.cnf

my.cnf 是mysql配置文件,将log-bin=mysql-bin 这条注释掉即可

# Replication Master Server (default)
# binary logging is required for replication
#log-bin=mysql-bin

重启mysql后生效

“mysql-bin.000001占用主机空间的解决方法”上的3条回复

本来不想说的,还是给后来人一些建议吧
不要直接取消 mysql log-bin
如果怕文件大,你可以设置过期时间(expire_logs_days)
和文件大小
也可以用 PURGE {MASTER | BINARY} LOGS TO ‘log_name’ 删除日志,甚至可以开启shell自动删除过期日志 
如果是怕速度问题,bin日志可以放到其他磁盘上,云盘也是可以的。
如果完全不考虑增量/全量式备份问题,可以取消

发表评论

邮箱地址不会被公开。 必填项已用*标注