expire_logs_dayによるログの自動削除

MYSQLのバイナリーログファイルがディスク容量を圧縮してきているので、
バックアップのタイミングと調整してログの定期削除を実施する設定を投入。

設定前

[root@HOME001 data]# ls
DB_REPLICATION           mysql             mysql-bin.000006  mysql-bin.000012  mysql-bin.000018
HOME001.localdomain.err  mysql-bin.000001  mysql-bin.000007  mysql-bin.000013  mysql-bin.000019
HOME001.localdomain.pid  mysql-bin.000002  mysql-bin.000008  mysql-bin.000014  mysql-bin.000020
ib_logfile0              mysql-bin.000003  mysql-bin.000009  mysql-bin.000015  mysql-bin.000021
ib_logfile1              mysql-bin.000004  mysql-bin.000010  mysql-bin.000016  mysql-bin.000022
ibdata1                  mysql-bin.000005  mysql-bin.000011  mysql-bin.000017  mysql-bin.000023
[root@HOME001 data]# 

MYSQLの設定

mysql> SHOW GLOBAL VARIABLES like 'expire_logs_days';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| expire_logs_days | 0     |
+------------------+-------+
1 row in set (0.00 sec)

mysql> 

my.cnfに設定入れて再起動

[root@HOME001 data]# cat /etc/my.cnf | grep expire_logs_days
expire_logs_days = 7
[root@HOME001 data]# /etc/init.d/mysql restart
Shutting down MySQL..                                      [  OK  ]
Starting MySQL..                                           [  OK  ]
[root@HOME001 data]# 

設定投入後
my.cnfに設定を入れて再起動すると既に設定が反映されている。

[root@HOME001 data]# ls
DB_REPLICATION           ibdata1           mysql-bin.000027  mysql-bin.000032
HOME001.localdomain.err  mysql             mysql-bin.000028  mysql-bin.index
HOME001.localdomain.pid  mysql-bin.000024  mysql-bin.000029  performance_schema
ib_logfile0              mysql-bin.000025  mysql-bin.000030  test
ib_logfile1              mysql-bin.000026  mysql-bin.000031
[root@HOME001 data]#
mysql> SHOW GLOBAL VARIABLES like 'expire_logs_days';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| expire_logs_days | 7     |
+------------------+-------+
1 row in set (0.00 sec)

mysql>

log-expire

その他、SQLコマンドでマニュアル削除する方法。(PURGE)

削除前

[root@HOME002 data]# ls -l mysql-bin.*
合計 35136
-rw-rw---- 1 mysql mysql      126  1月 24 16:50 mysql-bin.000001
-rw-rw---- 1 mysql mysql      126  1月 25 14:32 mysql-bin.000002
-rw-rw---- 1 mysql mysql      126  1月 25 15:24 mysql-bin.000003
-rw-rw---- 1 mysql mysql      126  1月 25 15:28 mysql-bin.000004
-rw-rw---- 1 mysql mysql      150  1月 25 18:15 mysql-bin.000005
-rw-rw---- 1 mysql mysql      150  1月 25 18:16 mysql-bin.000006
-rw-rw---- 1 mysql mysql      150  1月 25 18:17 mysql-bin.000007
-rw-rw---- 1 mysql mysql      126  1月 25 18:46 mysql-bin.000008
-rw-rw---- 1 mysql mysql      126  1月 26 18:24 mysql-bin.000009
-rw-rw---- 1 mysql mysql      221  1月 27 12:15 mysql-bin.000010
-rw-rw---- 1 mysql mysql      221  1月 27 16:11 mysql-bin.000011
-rw-rw---- 1 mysql mysql      150  1月 27 16:13 mysql-bin.000012
-rw-rw---- 1 mysql mysql      221  1月 27 16:18 mysql-bin.000013
-rw-rw---- 1 mysql mysql      221  1月 27 17:37 mysql-bin.000014
-rw-rw---- 1 mysql mysql      150  1月 27 17:39 mysql-bin.000015
-rw-rw---- 1 mysql mysql      126  1月 27 17:57 mysql-bin.000016
-rw-rw---- 1 mysql mysql      107  1月 29 12:54 mysql-bin.000017
-rw-rw---- 1 mysql mysql      323  1月 29 12:54 mysql-bin.index
[root@HOME002 data]#

削除コマンド実行
既にバックアップ対象データが取られていれば、古いバイナリーログは不要。


mysql> PURGE MASTER LOGS TO 'mysql-bin.000008';
Query OK, 0 rows affected (0.07 sec)

mysql>

PURGE

コマンド実行後
指定したバイナリーログ以前のファイルが削除されている事を確認。

[root@HOME002 data]# ls -l mysql-bin.*
-rw-rw---- 1 mysql mysql 126  1月 25 18:46 mysql-bin.000008
-rw-rw---- 1 mysql mysql 126  1月 26 18:24 mysql-bin.000009
-rw-rw---- 1 mysql mysql 221  1月 27 12:15 mysql-bin.000010
-rw-rw---- 1 mysql mysql 221  1月 27 16:11 mysql-bin.000011
-rw-rw---- 1 mysql mysql 150  1月 27 16:13 mysql-bin.000012
-rw-rw---- 1 mysql mysql 221  1月 27 16:18 mysql-bin.000013
-rw-rw---- 1 mysql mysql 221  1月 27 17:37 mysql-bin.000014
-rw-rw---- 1 mysql mysql 150  1月 27 17:39 mysql-bin.000015
-rw-rw---- 1 mysql mysql 126  1月 27 17:57 mysql-bin.000016
-rw-rw---- 1 mysql mysql 107  1月 29 12:54 mysql-bin.000017
-rw-rw---- 1 mysql mysql 190  1月 29 13:27 mysql-bin.index
[root@HOME002 data]#

Comments are closed.

Post Navigation