MySQLのバイナリログの自動削除設定

MySqlバイナリログの自動削除設定

MySqlはログを出力していますが、放っておくとログでディスクがオーバーフローします。
このログは自動削除できるので、その設定方法を解説します。



MySQLのバイナリログの自動削除設定手順

バイナリログを5日後に自動削除にする設定を例に手順を説明します。

/etc配下の「my.cnf」をviエディタで編集

/etc/my.cnfのファイルにログファイルに設定内容を記述するため、viエディタで当該ファイルを開きます。

# vi /etc/my.cnf

開いたファイルにログファイルを5日間で削除する設定を加える

「 expire_logs_days = 5 」を一文に加えます。

(追加例)
==============
[mysqld]
expire_logs_days = 5
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
==============

設定内容をMySqlを認識させるために、MySqlを再起動

/etc/my.cnfに追加した設定内容をMySqlに認識させるために、コマンドでMySqlを再起動します。

# service mysqld restart
mysqld を停止中: [ OK ]
mysqld を起動中: [ OK ]

上記の通り、「OK」が表示されると、再起動が成功したことを示します。

MySQLのバイナリログの自動削除設定が正常に反映されたことの確認手順

MySQLを再起動したので、バイナリログを5日後に自動削除設定に変更されています。正常に変更されたことを下記の手順で確認します。

自動削除設定が反映されたことを確認するため、MySqlにログイン

バイナリログを5日後に自動削除設定になったことを確認します。

# mysql -u root -p
(この後パスワードを入力)

プロンプトが「mysql>」になったら、確認のSQLコマンドを入力

mysql> SHOW GLOBAL VARIABLES like ‘expire_logs_days’;
+——————+——-+
| Variable_name | Value |
+——————+——-+
| expire_logs_days | 5 |
+——————+——-+
1 row in set (0.00 sec)

expire_logs_days 」が「 5 」となって入れば、「5日後に削除する」という設定されました。