The --hexdump option causes
mysqlbinlog to produce a hex dump of the
binary log contents:
shell> mysqlbinlog --hexdump master-bin.000001
The hex output consists of comment lines beginning with
#, so the output might look like this for the
preceding command:
/*!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;
Hex dump output currently contains the elements in the following list. This format is subject to change. (For more information about binary log format, see MySQL Internals: The Binary Log.
Position: The byte position within the
log file.
Timestamp: The event timestamp. In the
example shown, '9d fc 5c 43' is the
representation of '051024 17:24:13' in
hexadecimal.
Type: The event type code. In the example
shown, '0f' indicates a
FORMAT_DESCRIPTION_EVENT. The following
table lists the possible type codes.
| Type | Name | Meaning |
|---|---|---|
00 | UNKNOWN_EVENT | This event should never be present in the log. |
01 | START_EVENT_V3 | This indicates the start of a log file written by MySQL 4 or earlier. |
02 | QUERY_EVENT | The most common type of events. These contain statements executed on the master. |
03 | STOP_EVENT | Indicates that master has stopped. |
04 | ROTATE_EVENT | Written when the master switches to a new log file. |
05 | INTVAR_EVENT | Used for AUTO_INCREMENT values or when the
LAST_INSERT_ID()
function is used in the statement. |
06 | LOAD_EVENT | Used for LOAD DATA
INFILE in MySQL 3.23. |
07 | SLAVE_EVENT | Reserved for future use. |
08 | CREATE_FILE_EVENT | Used for LOAD DATA
INFILE statements. This indicates the
start of execution of such a statement. A temporary
file is created on the slave. Used in MySQL 4 only. |
09 | APPEND_BLOCK_EVENT | Contains data for use in a
LOAD DATA
INFILE statement. The data is stored in
the temporary file on the slave. |
0a | EXEC_LOAD_EVENT | Used for LOAD DATA
INFILE statements. The contents of the
temporary file is stored in the table on the slave.
Used in MySQL 4 only. |
0b | DELETE_FILE_EVENT | Rollback of a LOAD DATA
INFILE statement. The temporary file
should be deleted on the slave. |
0c | NEW_LOAD_EVENT | Used for LOAD DATA
INFILE in MySQL 4 and earlier. |
0d | RAND_EVENT | Used to send information about random values if the
RAND() function is
used in the statement. |
0e | USER_VAR_EVENT | Used to replicate user variables. |
0f | FORMAT_DESCRIPTION_EVENT | This indicates the start of a log file written by MySQL 5 or later. |
10 | XID_EVENT | Event indicating commit of an XA transaction. |
11 | BEGIN_LOAD_QUERY_EVENT | Used for LOAD DATA
INFILE statements in MySQL 5 and later. |
12 | EXECUTE_LOAD_QUERY_EVENT | Used for LOAD DATA
INFILE statements in MySQL 5 and later. |
13 | TABLE_MAP_EVENT | Information about a table definition. Used in MySQL 5.1.5 and later. |
14 | PRE_GA_WRITE_ROWS_EVENT | Row data for a single table that should be created. Used in MySQL 5.1.5 to 5.1.17. |
15 | PRE_GA_UPDATE_ROWS_EVENT | Row data for a single table that needs to be updated. Used in MySQL 5.1.5 to 5.1.17. |
16 | PRE_GA_DELETE_ROWS_EVENT | Row data for a single table that should be deleted. Used in MySQL 5.1.5 to 5.1.17. |
17 | WRITE_ROWS_EVENT | Row data for a single table that should be created. Used in MySQL 5.1.18 and later. |
18 | UPDATE_ROWS_EVENT | Row data for a single table that needs to be updated. Used in MySQL 5.1.18 and later. |
19 | DELETE_ROWS_EVENT | Row data for a single table that should be deleted. Used in MySQL 5.1.18 and later. |
1a | INCIDENT_EVENT | Something out of the ordinary happened. Added in MySQL 5.1.18. |
Master ID: The server ID of the master
that created the event.
Size: The size in bytes of the event.
Master Pos: The position of the next
event in the original master log file.
Flags: 16 flags. The following flags are
used. The others are reserved for future use.
| Flag | Name | Meaning |
|---|---|---|
01 | LOG_EVENT_BINLOG_IN_USE_F | Log file correctly closed. (Used only in
FORMAT_DESCRIPTION_EVENT.) If
this flag is set (if the flags are, for example,
'01 00') in a
FORMAT_DESCRIPTION_EVENT, the log
file has not been properly closed. Most probably
this is because of a master crash (for example, due
to power failure). |
02 | Reserved for future use. | |
04 | LOG_EVENT_THREAD_SPECIFIC_F | Set if the event is dependent on the connection it was executed in (for
example, '04 00'), for example,
if the event uses temporary tables. |
08 | LOG_EVENT_SUPPRESS_USE_F | Set in some circumstances when the event is not dependent on the default database. |