[MySQL binlog]mysql如何彻底解析Mixed日志格式的binlog

462 查看

mysql binlog3种格式,row,mixed,statement. 解析工作

mysqlbinlog --base64-output=DECODE-ROWS -v mysql-bin.000144 |more

--base64-output=DECODE-ROWS: 会显示出row模式带来的sql变更。

-v :显示statement模式带来的sql语句

复制代码 代码如下:

[mysql@002tmp]$ mysqlbinlog --base64-output=DECODE-ROWS -v mysql-bin.000144 |more
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
# at 4
#140216 23:59:26 server id 3  end_log_pos 107   Start: binlog v 4, server v 5.5.25a-log created 140216 23:59:26
# at 107
#140216 23:59:26 server id 1  end_log_pos 171   Query   thread_id=8557964       exec_time=0     error_code=0
SET TIMESTAMP=1392595166/*!*/;
SET @@session.pseudo_thread_id=8557964/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=6291456/*!*/;
SET @@session.auto_increment_increment=2, @@session.auto_increment_offset=1/*!*/;
/*!\C utf8mb4 *//*!*/;
SET @@session.character_set_client=45,@@session.collation_connection=45,@@session.collation_server=33/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
BEGIN
/*!*/;
# at 171
# at 260
#140216 23:59:26 server id 1  end_log_pos 260   Table_map: `billing`.`billing_account` mapped to number 216
#140216 23:59:26 server id 1  end_log_pos 418   Write_rows: table id 216 flags: STMT_END_F
### INSERT INTO billing.billing_account
### SET
###   @1=80491
###   @2=1000013580491
###   @3=1000056980491
###   @4=1
###   @5=1
###   @6='Integration-Tests'
###   @7=2014-02-16 23:59:26
###   @8='Integration-Tests'
###   @9=2014-02-16 23:59:26
###   @10='Integration-Tests'
###   @11=NULL
###   @12='0'
###   @13=1000105380491
###   @14='0'
###   @15='159.153.208.254'
###   @16=1
###   @17=NULL
# at 418
# at 516
#140216 23:59:26 server id 1  end_log_pos 516   Table_map: `billing`.`credit_card_account` mapped to number 222
#140216 23:59:26 server id 1  end_log_pos 812   Write_rows: table id 222 flags: STMT_END_F
### INSERT INTO billing.credit_card_account
### SET