差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

mysql:巨大なバイナリログが生成されてディスクフルになった場合 [2017/12/14 20:18] (現在)
ライン 1: ライン 1:
 +====== 巨大なバイナリログが生成されてディスクフルになった場合 - MySQL ======
 +
 +//​※この記事は2006年11月06日に書かれたものです。//​
 +
 +MySQLはデータを更新する際に、バイナリログにその記録を残す。
 +リストアなどをする際に用いることが可能だが、大量のINSERTやUPDATEが飛び交っていると、知らないうちに数Gバイトものファイルになっていることがある。
 +
 +そのため定期的にディスクから削除などを行う必要が出てくる。ディスクフルになった場合は、これらのファイルを疑ってみると原因をつきとめることができることもある。
 +
 +
 +===== バイナリログの削除 =====
 +
 +バイナリログを削除するには、通常は以下のようなコマンドを叩くだけでOK。
 +
 +<​code>​
 +$ 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
 +</​code>​
 +
 +バイナリログは通常、「/​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 でなくなります。バイナリログには、更新ログで利用可能だった情報がすべて、より効率的かつトランザクションセーフな方法で含まれます。