晓夏

YoungCheung

Zhang Sir's technical way

Mysql binlog 占用系统存储空间的安全处理方式

浏览量:940

背景:生产环境存储空间不足,主要原因在于数据库binlog占用资源较多。

解决方法:

1、非主从环境,只需要将my.cnf配置注释重启即可

log-bin=mysql-bin

2、限制binlog日志存在时间

expire_logs_days = 7  #保留七天

3、如果一台服务器  binlog 日志已经影响到了磁盘空间 , 那么你将使用下面命令清除

mysql> reset master;  # 清空所有 binlog 文件

4、如果服务器 , mysql 还做了主从同步 , 那么上面的命令就不适合你了 , 因为 binlog 文件删除过多的话 , 会导致数据不同步

mysql> show slave status\G   # 你首先要来 slave 上查看从库读 binlog 到了哪里 
Master_Log_File: mysql-bin.000010 # 我们可以看到是 mysql-bin.000010

A、在 master 中执行这条指令 , 将 binlog 文件删除至 mysql-bin.000010 前
mysql> purge master logs to 'mysql-bin.000010'; 

B、# 将 binlog 文件删除至此日期前
mysql> purge master logs before '2018-12-31 00:00:00';


神回复

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。