« 半角数字を全角数字へ変換する | メイン | 基数変換したい »

カテゴリー:メンテナンス 

巨大なバイナリログが生成されてディスクフルになった(MySQL4.x)

このエントリーを含むはてなブックマーク  livedoorクリップ  巨大なバイナリログが生成されてディスクフルになった(MySQL4.x)をdel.icio.usに追加  巨大なバイナリログが生成されてディスクフルになった(MySQL4.x)をYahoo!ブックマークに追加  巨大なバイナリログが生成されてディスクフルになった(MySQL4.x)をニフティクリップに追加

MySQLはデータを更新する際に、バイナリログにその記録を残す。
リストアなどをする際に用いることが可能だが、大量のINSERTやUPDATEが飛び交っていると、知らないうちに数Gバイトものファイルになっていることがある。

そのため定期的にディスクから削除などを行う必要が出てくる。ディスクフルになった場合は、これらのファイルを疑ってみると原因をつきとめることができることもある。

バイナリログを削除するには、通常は以下のようなコマンドを叩くだけでOK。

$ mysql -u mysql -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 532 to server version: 4.0.25-standard-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> RESET MASTER;
Query OK, 0 rows affected (1.65 sec)

mysql> exit

バイナリログは通常、「/var/lib/mysql」といったデータディレクトリ配下に、「ホスト名-bin」といった名前で作成される。ある一定容量を超えると、ファイル名の末尾に連番をつけて別のファイルが作成される。
 ※「一定容量」は「max_binlog_size」の値を調整することで変更が可能。
  またサーバを再起動しても別ファイルが作成される。

ディィスクフルなど1分1秒を争う緊急時にはどうしようもないが、必要があれば削除する前にこれらのデータのバックアップを取っておいた方が良いだろう。


○関連
4.10.4. バイナリログ
http://dev.mysql.com/doc/refman/4.1/ja/binary-log.html

バイナリログは、以前の更新ログの代わりになるものです。更新ログは MySQL 5.0 でなくなります。バイナリログには、更新ログで利用可能だった情報がすべて、より効率的かつトランザクションセーフな方法で含まれます。




トラックバック

このエントリーのトラックバックURL:
http://katsubemakito.net/mt/mt-tb.cgi/497

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

VPSレンタルサーバー




クリエイティブ・コモンズ・ライセンス
このブログは、次のライセンスで保護されています。 クリエイティブ・コモンズ・ライセンス.