标签归档:bin-log

mysql bin-log 清除 slave master bin-log删除 mysql-bin

装mysql,运行一段时间后,在mysql目录下出现一堆类似 mysql-bin.000***,从mysql-bin.000001开始一直排列下来,而且占用了大量硬盘空间,高达几十个G. 对于这些超大空间 占用量的文件我们应该怎么办呢?

1:进入MYSQL的CLIENT输入

mysql> show binary logs;
+——————+————+
| Log_name         | File_size  |
+——————+————+
| mysql-bin.000001 |        117 |
| mysql-bin.000002 |  755584845 |
| mysql-bin.000003 |  402552787 |
| mysql-bin.000004 |     411062 |
| mysql-bin.000005 |  350535699 |
| mysql-bin.000006 |   92833030 |
| mysql-bin.000007 |     763257 |
| mysql-bin.000008 |   17786102 |
| mysql-bin.000009 | 1073741955 |
| mysql-bin.000010 |  566312775 |
+——————+————+
10 rows in set (0.00 sec)

mysql>

然后看到BIN-LOG日志的列表

2.删除bin-log(删除mysql-bin.000018之前的所有二进制日志文件)

mysql> purge binary logs to ‘mysql-bin.000005′;

如果你的服务器硬盘不是足够的大,slave,master的bin-log会占用很大的磁盘。清除方案如下:

方案一:

1. 从属服务器上,使用SHOW SLAVE STATUS来检查它正在读取哪个日志。

2. 在主服务器上SHOW MASTER LOGS或show binary logs获得主服务器上的一系列日志。

3然后根据slave的Relay_Master_Log_File通过PURGE 删除LOG。

方案二:

设置MASTER的expire_logs_days

mysql>
mysql> show binary logs;
+——————+————+
| Log_name         | File_size  |
+——————+————+
| mysql-bin.000001 |        117 |
| mysql-bin.000002 |  755584845 |
| mysql-bin.000003 |  402552787 |
| mysql-bin.000004 |     411062 |
| mysql-bin.000005 |  350535699 |
| mysql-bin.000006 |   92833030 |
| mysql-bin.000007 |     763257 |
| mysql-bin.000008 |   17786102 |
| mysql-bin.000009 | 1073741955 |
| mysql-bin.000010 |  566312775 |
+——————+————+
10 rows in set (0.00 sec)

mysql> set global  expire_logs_days=7;
Query OK, 0 rows affected (0.00 sec)

mysql> flush logs;
Query OK, 0 rows affected (2.16 sec)

mysql> show binary logs;
+——————+———–+
| Log_name         | File_size |
+——————+———–+
| mysql-bin.000010 | 566592340 |
| mysql-bin.000011 |      6410 |
+——————+———–+
2 rows in set (0.00 sec)