2018年9月
mysqlbinlog
使用mysqlbinlog 命令查看
常用選項(xiàng):
- --start-position=953 起始pos點(diǎn)
- --stop-position=1437 結(jié)束pos點(diǎn)
- --start-datetime="2013-11-29 13:18:54" 起始時(shí)間點(diǎn)
- --stop-datetime="2013-11-29 13:21:53" 結(jié)束時(shí)間點(diǎn)
如:
進(jìn)入到binlog目錄執(zhí)行咸灿,指定具體的binlog文件名
# 從指定的時(shí)間開始查
$ mysqlbinlog mysql-bin.001575 --start-datetime="2018-09-25 11:25:54"
# 從指定位置開始查
$ mysqlbinlog mysql-bin.001575 --start-position=16839697
默認(rèn)只能查看到base-64編碼的信息
如:
# at 22452867
#180925 11:44:02 server id 8 end_log_pos 22452944 CRC32 0xc23d3641 Table_map: `base`.`by_renew_history` mapped to number 182
# at 22452944
#180925 11:44:02 server id 8 end_log_pos 22453106 CRC32 0x7a809e4e Update_rows: table id 182 flags: STMT_END_F
BINLOG '
Aq+pWxMIAAAATQAAANCaVgEAALYAAAAAAAEABGJhc2UAEGJ5X3JlbmV3X2hpc3RvcnkACwMPAw8S
ARIDEgMDB5YAWgAAAAD+B0E2PcI=
Aq+pWx8IAAAAogAAAHKbVgEAALYAAAAAAAEAAgAL/////wD+igAAAA4yMDE4MDcyNTE2MzcyNugD
AAAQMTExMTExMTExMDExMTExNJmgcwlbAZmgcwlbAwAAAJmgcwlaAP6KAAAADjIwMTgwNzI1MTYz
NzI26AMAABAxMTExMTExMTEwMTExMTEzmaBzCVsBmaBzCVsDAAAAmaBzCVpOnoB6
'/*!*/;
# at 22453106
#180925 11:44:02 server id 8 end_log_pos 22453137 CRC32 0x3787881e Xid = 8121164
COMMIT/*!*/;
SET @@SESSION.GTID_NEXT= 'AUTOMATIC' /* added by mysqlbinlog */ /*!*/;
DELIMITER ;
# End of log file
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
此時(shí)需要 --base64-output=value 選項(xiàng)
此選項(xiàng)確定何時(shí)應(yīng)使用BINLOG語(yǔ)句將事件編碼為base-64字符串湿刽。該選項(xiàng)具有以下允許值(不區(qū)分大小寫):
AUTO (“自動(dòng)”)或UNSPEC(“未指定”)在必要時(shí)自動(dòng)顯示BINLOG語(yǔ)句(即,用于格式描述事件和行事件)。如果沒有給出--base64-output選項(xiàng)烫扼,則效果與--base64-output = AUTO相同。
NEVER 不顯示BINLOG語(yǔ)句
DECODE-ROWS 通過(guò)配合--verbose選項(xiàng)將行事件解碼并顯示為注釋的SQL語(yǔ)句浩考。
使用參數(shù)--verbose(或-v)婶肩,將生成帶注釋的語(yǔ)句,如果使用兩次這個(gè)參數(shù)(如-v -v)说搅,會(huì)生成字段的類型炸枣、長(zhǎng)度、是否為null等屬性信息弄唧。
如:
$ mysqlbinlog -v --base64-output=DECODE-ROWS mysql-bin.001576 --start-datetime="2018-09-25 13:41:30"
輸出:
# at 1664232
#180925 13:42:02 server id 8 end_log_pos 1664309 CRC32 0x28bbcc7e Table_map: `base`.`by_renew_history` mapped to number 182
# at 1664309
#180925 13:42:02 server id 8 end_log_pos 1664471 CRC32 0xca13320e Update_rows: table id 182 flags: STMT_END_F
### UPDATE `base`.`by_renew_history`
### WHERE
### @1=138
### @2='20180725163726'
### @3=1000
### @4='1111111110111113'
### @5='2018-07-25 16:37:27'
### @6=1
### @7='2018-07-25 16:37:27'
### @8=3
### @9='2018-07-25 16:37:26'
### @10=NULL
### @11=NULL
### SET
### @1=138
### @2='20180725163726'
### @3=1000
### @4='1111111110111114'
### @5='2018-07-25 16:37:27'
### @6=1
### @7='2018-07-25 16:37:27'
### @8=3
### @9='2018-07-25 16:37:26'
### @10=NULL
### @11=NULL
# at 1664471
#180925 13:42:02 server id 8 end_log_pos 1664502 CRC32 0xb64f6d4f Xid = 8266920
COMMIT/*!*/;
SET @@SESSION.GTID_NEXT= 'AUTOMATIC' /* added by mysqlbinlog */ /*!*/;
DELIMITER ;
# End of log file
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
mysqlbinlog -v -v --base64-output=DECODE-ROWS mysql-bin.001576 --start-datetime="2018-09-25 13:41:30"
輸出:
# at 1899587
#180925 13:44:02 server id 8 end_log_pos 1899664 CRC32 0x7fff0312 Table_map: `base`.`by_renew_history` mapped to number 182
# at 1899664
#180925 13:44:02 server id 8 end_log_pos 1899826 CRC32 0x5cdb92c1 Update_rows: table id 182 flags: STMT_END_F
### UPDATE `base`.`by_renew_history`
### WHERE
### @1=138 /* INT meta=0 nullable=0 is_null=0 */
### @2='20180725163726' /* VARSTRING(150) meta=150 nullable=1 is_null=0 */
### @3=1000 /* INT meta=0 nullable=1 is_null=0 */
### @4='1111111110111114' /* VARSTRING(90) meta=90 nullable=1 is_null=0 */
### @5='2018-07-25 16:37:27' /* DATETIME(0) meta=0 nullable=1 is_null=0 */
### @6=1 /* TINYINT meta=0 nullable=1 is_null=0 */
### @7='2018-07-25 16:37:27' /* DATETIME(0) meta=0 nullable=1 is_null=0 */
### @8=3 /* INT meta=0 nullable=1 is_null=0 */
### @9='2018-07-25 16:37:26' /* DATETIME(0) meta=0 nullable=1 is_null=0 */
### @10=NULL /* INT meta=0 nullable=1 is_null=1 */
### @11=NULL /* INT meta=0 nullable=1 is_null=1 */
### SET
### @1=138 /* INT meta=0 nullable=0 is_null=0 */
### @2='20180725163726' /* VARSTRING(150) meta=150 nullable=1 is_null=0 */
### @3=1000 /* INT meta=0 nullable=1 is_null=0 */
### @4='1111111110111113' /* VARSTRING(90) meta=90 nullable=1 is_null=0 */
### @5='2018-07-25 16:37:27' /* DATETIME(0) meta=0 nullable=1 is_null=0 */
### @6=1 /* TINYINT meta=0 nullable=1 is_null=0 */
### @7='2018-07-25 16:37:27' /* DATETIME(0) meta=0 nullable=1 is_null=0 */
### @8=3 /* INT meta=0 nullable=1 is_null=0 */
### @9='2018-07-25 16:37:26' /* DATETIME(0) meta=0 nullable=1 is_null=0 */
### @10=NULL /* INT meta=0 nullable=1 is_null=1 */
### @11=NULL /* INT meta=0 nullable=1 is_null=1 */
# at 1899826
#180925 13:44:02 server id 8 end_log_pos 1899857 CRC32 0xc1b4c0c7 Xid = 8297691
COMMIT/*!*/;
SET @@SESSION.GTID_NEXT= 'AUTOMATIC' /* added by mysqlbinlog */ /*!*/;
DELIMITER ;
# End of log file
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;