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
http://forge.mysql.com/wiki/MySQL_Internals_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. Currently, 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. │
└─────┴─────────────────────────────┴────────────────────────────┘