Mysql删除binlog
binlog 是记录所有数据库表结构变更(例如CREATE、ALTER TABLE…)以及表数据修改(INSERT、UPDATE、DELETE…)的二进制日志。
一、手动删除
直接在 /var/lib/mysql 路径下,将 binlog.0* 删除掉(注意不要删除 binlog.index)
该方法不推荐,因为手动删除并不会更新 binlog.index,而 binlog.index 的作用是加快查找 binlog 文件的速度。
二、删除指定编号之前的binlog
mysql> PURGE MASTER LOGS TO 'binlog.000860'; Query OK, 0 rows affected (0.01 sec)
三、删除指定日期之间的binlog
mysql> PURGE MASTER LOGS BEFORE '2020-11-11 11:11:11'; Query OK, 0 rows affected (0.19 sec)
四、清空所有binlog
mysql> RESET MASTER; Query OK, 0 rows affected (0.09 sec)
五、配置自动清理
1)临时设置
mysql> set global expire_logs_days=7; 这是临时设置binlog日志只保留七天,重启mysql后就会失效
2)永久设置
修改my.cnf配置文件,在里面加上配置
expire_logs_days = 30
该值默认值为0,也就是不会清除
修改后重启mysql