关键字:mysql、log、二进制日志、二进制文件、log日志清理、binlog日志
MySQL 日志没有做优化切割和日期限制的话,日志文件会不断的生成,越来越大越来越多,知道撑爆磁盘内存为止
方法一、举例说明:手动清除
删除 mysql-bin.000728 之前的日志 ( 不包括mysql-bin.000728 )
删除 2019-08-20 12:13:59 时间点之前的日志
具体演示:删除某个时间点之前的日志
mysql> purge binary logs before ‘2019-08-20 12:13:59’;
具体演示:删除某个日志之前的日志
mysql> purge binary logs to 'mysql-bin.000133';
刷新并查看删除的情况
mysql> flush logs;
Query OK, 0 rows affected (0.02 sec)
mysql> show master logs;
+------------------+------------+
| Log_name | File_size |
+------------------+------------+
| mysql-bin.000133 | 1074290521 |
| mysql-bin.000134 | 1074376113 |
| mysql-bin.000135 | 1073889449 |
| mysql-bin.000136 | 1073762502 |
| mysql-bin.000137 | 1074122317 |
| mysql-bin.000138 | 1074522685 |
| mysql-bin.000139 | 1074300235 |
| mysql-bin.000140 | 1073804122 |
| mysql-bin.000141 | 93587003 |
| mysql-bin.000142 | 57117408 |
+------------------+------------+
10 rows in set (0.00 sec)
方法二、举例说明:自动清除
【方法二】通过设置binlog过期的时间,使系统自动删除binlog文件
mysql> set global expire_logs_days = 2; #设置binlog多少天过期
mysql> show variables like 'expire_logs_days'; #设置 binlog 2 天过期
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| expire_logs_days | 2 |
+------------------+-------+