默认情况下,mysql主从同步的binlog日志,会一直保存。
对于如果已同步好的数据,这显然比较浪费资源。
且如果生产环境磁盘太小,随时还会爆掉,所以很有必要作好binlog的空间维护。
以下操作,直接在master上操作即可。
一,显示当前的log文件记录
show master logs;
二,清空n天前的日志,减少磁盘空间
PURGE MASTER LOGS BEFORE DATE_SUB(CURRENT_DATE, INTERVAL 10 DAY);
三,更改配置文件,指定binlog过期时间及binlog存储的物理位置。还可以指定只备份指定数据库。
my.cnf
[client] port=3306 socket=/pasc/mysql/home/dbqry/newsql/mysql/mysql.sock default-character-set=utf8[mysqld] port=3306 user=mysql default-storage-engine=INNODB basedir=/mysql/mysql datadir=/mysql/data pid-file=/mysql/mysql.pid socket=/mysql/mysql.sock log_error=/mysql/error.log max_allowed_packet=500M max_connections=10000server-id=666 expire_logs_days = 30 binlog-do-db = NewLogDB log-bin=/pasc/mydata/sql_bak/log_bin/mysql-bin binlog-format=mixed character-set-server=utf8 sql_mode=NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
四,重启mysql,使设置生效。