mysqlのバイナリログ(mysql-bin.******)を削除する

技術関係

データベースを眺めるとかなり肥大化している様子なのでどうにかする

参考

【MySQL】バイナリログを自動削除したい(mysql-bin.******) at softelメモ
あんじーのテクニカルブログ: mysql-bin.000001が肥大化する
» 【MySQL】バイナリログ圧迫の対処。 Pattern: Pattern Ref —自分用覚書
variablh.jp [Mainly Deals with RDBMS] » expire_logs_days

既に存在するバイナリログを削除する

きっと手動でrmしてもいいような気はするのだけど、セオリー的に

$ /usr/local/mysql/bin/mysql ~

-- バイナリログの一覧を確認する
SHOW BINARY LOGS;
-- 指定した日時より古いバイナリログを削除する
--  以下の例では、当日現在
PURGE MASTER LOGS before now();
--  以下の例は、一ヶ月前まで
PURGE MASTER LOGS before DATE_SUB( NOW( ), INTERVAL 31 DAY);

バイナリログを取らないように設定を変更する

ログなんかもういらないよ

設定ファイルの「log-bin=mysql-bin」の行をコメントアウトしてmysqldを再起動する

$ vi /etc/my.cnf

binary logging is required for replication

log-bin=mysql-bin

$ /etc/init.d/mysqld restart

バイナリログを一定期間ごとに削除する

流石にバイナリログを取らないのはちょっとなぁ

設定ファイルの「expire_logs_days=日数」の行を追加してmysqldを再起動する
※ デフォルトは0で削除しない

$ vi /etc/my.cnf

expire_logs_days = 5

$ /etc/init.d/mysqld restart

タイトルとURLをコピーしました