インフラ

Mysqlのバイナリログの概要と確認方法メモ

運用しているWordPressのサーバーで、Mysqlのバイナリログが肥大化したことがありました。
普段RDSを使っており、この辺意識できていなかったので概要と確認方法をメモしておきます。

バイナリログとは

バイナリログには、テーブル作成操作やテーブルデータへの変更などのデータベース変更を記述する「イベント」が格納されます。

CREATEやUPDATEが記録されるみたいですね。

バイナリログは、データを変更しない SELECT や SHOW などのステートメントでは使用されません。 (問題となるクエリーを特定するなどのために) すべてのステートメントをログに記録するには、一般クエリーログを使用します。 セクション5.4.3「一般クエリーログ」を参照してください。

レプリケーションやバックアップで使うが目的のため、SELECTなどの操作は記録されないみたいですね。

Mysql リファレンス5.4.4 バイナリログ

バイナリログを確認する

BitnamiのWordpressだと以下にファイルがあります。

cd /opt/bitnami/mysql/data/
ls -la | grep binlog

バイナリロギング形式で保存されているため、そのまま中身を確認することはできません。
確認する方法は2つあります。

  • mysqlbinlogを使う
  • mysqlにログインして、「show binlog events」で確認する。

ログイン不要のため、mysqlbinlogを使う方法が良いのかなと思います。

mysqlbinlogを使う

$ mysqlbinlog <バイナリログ> # ex. binlog.0000003

Mysqlリファレンス 4.6.8 mysqlbinlog — バイナリログファイルを処理するためのユーティリティー

mysqlにログインして、「show binlog events」で確認する。

mysqlにログインして、コマンドで確認します。

$ mysql -u root -p
> show binary logs; # 保存されているバイナリログがファイルごとに表示される
> show binlog events in '<バイナリログ>'; # 指定したバイナリログの内容を確認

Amazonで「Mysql」の本をみてみる!!

楽天で「Mysql」の本をみてみる!!

Mysqlユーザ管理でよく使うSQL ユーザ作成削除のチートシートこんにちは、ちゃりおです。 Mysqlのユーザ作成たまにやるのですが、やり方忘れがちなので 使うSQLをまとめてみます。 Mysql...
rdsストレージ追加
VPN経由でRDSに接続できないときに確認することこんにちは、ちゃりおです。 プライベートサブネットにあるRDSにGCPからつなぎたいことがありVPNの設定をしました。 しかし、VPN...
rdsストレージ追加
RDSストレージ追加する際に確認しておきたいことこんにちは、ちゃりおです。 今回は、RDSのストレージ拡張についてです。 RDSしばらく運用していくと、ストレージが足りなくなることも...