--hexdump
オプションを使用すると、mysqlbinlog はバイナリログの内容の 16 進ダンプを生成するようになります。
shell> mysqlbinlog --hexdump master-bin.000001
16 進出力は、#
で始まるコメント行で構成され、前のコマンドの出力は次のようになります。
/*!40019 SET @@SESSION.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
# at 4
#051024 17:24:13 server id 1 end_log_pos 98
# Position Timestamp Type Master ID Size Master Pos Flags
# 00000004 9d fc 5c 43 0f 01 00 00 00 5e 00 00 00 62 00 00 00 00 00
# 00000017 04 00 35 2e 30 2e 31 35 2d 64 65 62 75 67 2d 6c |..5.0.15.debug.l|
# 00000027 6f 67 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |og..............|
# 00000037 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
# 00000047 00 00 00 00 9d fc 5c 43 13 38 0d 00 08 00 12 00 |.......C.8......|
# 00000057 04 04 04 04 12 00 00 4b 00 04 1a |.......K...|
# Start: binlog v 4, server v 5.0.15-debug-log created 051024 17:24:13
# at startup
ROLLBACK;
現在、16 進出力には次のリストの要素が含まれます。この形式は変更される場合があります。(バイナリログの形式の詳細は、「MySQL Internals: The Binary Log」を参照してください。
Position
: ログファイル内のバイト位置。Timestamp
: イベントのタイムスタンプ。示した例では、'9d fc 5c 43'
は'051024 17:24:13'
の 16 進表現です。-
Type
: イベントタイプコード。示した例では、'0f'
はFORMAT_DESCRIPTION_EVENT
を示します。次のテーブルは可能なタイプコードのリストです。型 名前 意味 00
UNKNOWN_EVENT
このイベントはログ内に存在するべきではありません。 01
START_EVENT_V3
MySQL 4 より前のバージョンによって書き出されたログファイルの始めを示しています。 02
QUERY_EVENT
もっとも一般的なイベントのタイプ。これらはマスターで実行されるステートメントを含んでいます。 03
STOP_EVENT
マスターが停止したことを示します。 04
ROTATE_EVENT
マスターが新しいログファイルにスイッチした際に書き出されます。 05
INTVAR_EVENT
AUTO_INCREMENT
値、またはステートメントでLAST_INSERT_ID()
関数が使用される場合に使用されます。06
LOAD_EVENT
MySQL 3.23 で LOAD DATA INFILE
用に使用されます。07
SLAVE_EVENT
将来使用するために予約されています。 08
CREATE_FILE_EVENT
LOAD DATA INFILE
ステートメントに使用されます。これはそのようなステートメントの実行の始まりを示しています。スレーブ上で一時ファイルが作成されます。MySQL 4 でのみ使用されます。09
APPEND_BLOCK_EVENT
LOAD DATA INFILE
ステートメントで使用されるデータを含んでいます。データはスレーブ上の一時ファイル内に保存されます。0a
EXEC_LOAD_EVENT
LOAD DATA INFILE
ステートメントに使用されます。一時ファイルの内容はスレーブ上のテーブルに保存されます。MySQL 4 でのみ使用されます。0b
DELETE_FILE_EVENT
LOAD DATA INFILE
ステートメントのロールバック。一時ファイルはスレーブ上で削除されるはずです。0c
NEW_LOAD_EVENT
MySQL 4 以前のバージョンで LOAD DATA INFILE
に使用されます。0d
RAND_EVENT
RAND()
関数がステートメントで使用されている場合、ランダム値の情報を送信するのに使用されます。0e
USER_VAR_EVENT
ユーザー変数のレプリケーションに使用されます。 0f
FORMAT_DESCRIPTION_EVENT
MySQL 5 以降のバージョンで書き出されたログファイルの始まりを示します。 10
XID_EVENT
XA トランザクションのコミットを示すイベント。 11
BEGIN_LOAD_QUERY_EVENT
MySQL 5 以降で LOAD DATA INFILE
ステートメントに使用されます。12
EXECUTE_LOAD_QUERY_EVENT
MySQL 5 以降で LOAD DATA INFILE
ステートメントに使用されます。13
TABLE_MAP_EVENT
テーブル定義の情報。MySQL 5.1.5 以降で使用されます。 14
PRE_GA_WRITE_ROWS_EVENT
作成されるべき単一のテーブルの行データ。MySQL 5.1.5 から 5.1.17 で使用されます。 15
PRE_GA_UPDATE_ROWS_EVENT
更新が必要な単一テーブルの行データ。MySQL 5.1.5 から 5.1.17 で使用されます。 16
PRE_GA_DELETE_ROWS_EVENT
削除されるべき単一テーブルの行データ。MySQL 5.1.5 から 5.1.17 で使用されます。 17
WRITE_ROWS_EVENT
作成されるべき単一のテーブルの行データ。MySQL 5.1.18 以降で使用されます。 18
UPDATE_ROWS_EVENT
更新が必要な単一テーブルの行データ。MySQL 5.1.18 以降で使用されます。 19
DELETE_ROWS_EVENT
削除されるべき単一テーブルの行データ。MySQL 5.1.18 以降で使用されます。 1a
INCIDENT_EVENT
通常ではないことが何か起こりました。MySQL 5.1.18 で追加されました。 Master ID
: イベントを作成したマスターのサーバー ID。Size
:イベントのサイズをバイトで表しています。Master Pos
: 元のマスターログファイル内での次のイベントの位置。-
Flags
: 16 フラグ。現在、次のフラグが使用されています。ほかのものは将来のために予約されています。フラグ 名前 意味 01
LOG_EVENT_BINLOG_IN_USE_F
ログファイルは正しく閉じられました。( FORMAT_DESCRIPTION_EVENT
でのみ使用されます。)FORMAT_DESCRIPTION_EVENT
内でこのフラグがセットされている場合 (フラグがたとえば'01 00'
の場合)、ログファイルは適切に閉じられていません。マスターが (たとえば、停電などにより) クラッシュしたことによる場合がもっとも可能性が高くなります。02
将来使用するために予約されています。 04
LOG_EVENT_THREAD_SPECIFIC_F
たとえばイベントが一時テーブルを使用する場合のように、イベントが実行される接続に依存する場合にセットします (たとえば '04 00'
)。08
LOG_EVENT_SUPPRESS_USE_F
イベントがデフォルトデータベースに依存していない一部の状況でセットします。