OpenMediaLaboratory

AppleとWebとサーバと、その他IT系の話題で

ソニーストア

MySQLでバイナリログを削除する/自動削除する方法

| 0 comments

毎年、年明け最初の仕事はサーバの確認・整理と決まっている。
普通年末にやるのかもしれないが、年末はだいたいバタバタしてるので年明け早々にやることが多い。

だいたい溜まっているのはMySQLのバイナリログ。
これ、そのまま削除してもいいんだけど、少々恐い気もしないでもない。
削除しようと思っても、毎回コマンド覚えてないので覚え書きです。

コマンドラインのツールを使ってログイン

# mysql -u root -p

バイナリログの状態を確認

> show master logs;

一覧が出てくる。
だいたい最後のログだけを残しておけばいい。
例えば、最後のログが ”ns-bin.089″ だったら次のように入力する。

> PURGE MASTER LOGS TO ‘ns-bin.089′;

これで直前の”ns-bin.088″までが削除される。

自動削除したい場合は、my.cnfファイルの[mysqld]カテゴリに次の一行を入れる。

set-variable = expire_logs_days = 30

これで30日経ったバイナリログが自動的に削除される。
なお、my.cnf書き換え後、MySQLを再起動しないと反映されないので注意が必要。

再起動が嫌なら、コマンドラインツールから下記を入力する。

> set global expire_logs_days = 30;

但し、いずれの場合も指定した日数経過後、最初にMySQLを再起動した場合、またはログファイルのローテーション時に削除が行われるので、多少のタイムラグがあることに注意する事。


Author: romezo/dave

インターネットサーバ構築、サイトデザインなどを始めて早10数年。 オープンソースソフトウェアに魅了された事をきっかけにインターネットの世界へ。 始めて触ったオープンソースソフトウェアは印刷を勉強するきっかけにもなったTeX。文字組にはうるさい。 あることをきっかけにメディアに関わるようになり、メディアとネットの融合を真剣に考える。業務用サイトは http://www.mt-design.info/

コメントを残す

Required fields are marked *.

*