装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)