mysql 二进制日志 BINARY LOG 清理

关键字: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  | 
+------------------+-------+ 

你可能感兴趣的:(mysql,数据库,服务篇,服务配置优化,mysql,linux,服务器)