binlog的三种模式

  

<强> binlog的三种模式

<强>声明模式

特点:

(1)此模式不支持俄文,RC隔离级别;

(2) binglog日志文件中上一个事物的结束点是下一个事物的开始点;

(3) DML、DDL语句都会明文显示;

(4)对一些系统函数不能准确复制或者不能复制,如load_file (), uuid()、用户(),found_rows (), sysdate(),注意(现在()可以复制;)

(5)主库执行删除从t1 c1=xxx限制1,声明模式下,从库也会这么执行,可能导致删除的不是同一行数据

(6)主库有id=1和id=10两行数据,从库有id=1, 2, 3, 10这四行数据,主库执行删除从t1 id<10命令,从库删除过多数据;


什么场景会用模到声明式:

(1)一次更新大量数据,如二十万数据,否则在复制的时候,从库可能会追的太慢,导致延时;

(2)使用pt-table-checksum工具时会使用模到声明式;

例1:   set , tx_isolation=翱芍馗炊寥 ?   set , binlog_format=吧鳌?   flush 原木;   create  table  t10 (c1  int, c2  varchar (50));   insert  into  t10 价值(1,现在());   insert  into  t10 价值(2,现在());   insert  into  t10 价值(3,sysdate ());   insert  into  t10 值(4,uuid ());   update  t10  set  c2=癰bb, where  c1=1;   【root@Darren2 日志】#,mysqlbinlog  mysql-bin.000022   ……   create  table  t10 (c1  int, c2  varchar (50))   开始/* ! */;   # at  532   # 170408,14:40:49  server  id  330622,, end_log_pos  649年,CRC32  0 xe5cfc853 ,,,,,,, Query  thread_id=55岁,,,,exec_time=0,,,,, error_code=0   SET 时间戳=1491633649/* ! */,,,,先设置时间戳,从库复制的时候也会执行这条SQL,这就是现在()函数为什么可以复制的原因   insert  into  t10 值(1,现在()),,,,,   insert  into  t10 值(2,现在())   insert  into  t10 价值(3,sysdate ())   insert  into  t10 值(4,uuid ())/* ! */;   # at  1550   # 170408,14:40:49  server  id  330622,, end_log_pos  1581年,CRC32  0 x5aaa5377 ,,, Xid =1755   提交/* ! */;   # at  1581   # 170408,14:40:49  server  id  330622,, end_log_pos  1646年,CRC32  0 xc2da517f ,,, GTID ,,, last_committed=5,,,,,,,, sequence_number=6   SET  @@SESSION.GTID_NEXT=,“83373570 - fe03 - 11 - e6 bb0a - 000 c29c1b8a9:11328“/* ! */;   # at  1646   # 170408,14:40:49  server  id  330622,, end_log_pos  1729年,CRC32  0 x943df058 ,,, Query ,, thread_id=55岁,,,,exec_time=0,,,,, error_code=0   SET 时间戳=1491633649/* ! */;   开始/* ! */;   # at  1729   # 170408,14:40:49  server  id  330622,, end_log_pos  1841年,CRC32  0 xb443cf1e ,,, Query ,, thread_id=55岁,,,,exec_time=0,,,,, error_code=0   SET 时间戳=1491633649/* ! */;   update  t10  set  c2=癰bb, where  c1=1/* ! */;   # at  1841   # 170408,14:40:49  server  id  330622,, end_log_pos  1872年,CRC32  0 xd06c40f5 ,,, Xid =1756   提交/* ! */;   SET  @@SESSION.GTID_NEXT=,“自动”,/*,added  by  mysqlbinlog  */,/* ! */;   DELIMITER ;   #,最终获得of  log 文件/* ! 50003,SET  COMPLETION_TYPE=@OLD_COMPLETION_TYPE */;/* ! 50530,SET  @@SESSION.PSEUDO_SLAVE_MODE=0 */;   主库:   root@localhost  [testdb]祝辞select  *,得到t10;   + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +   |,c1 ,, |, c2 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, |   + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +   |,,,,1,|,bbb ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, |   |,,,,2,|,2017 - 04 - 08 -,14:40:49 ,,,,,,,,,,,,,,,, |   |,,,,3,|,2017 - 04 - 08 -,14:40:49 ,,,,,,,,,,,,,,,, |   |,,,,4,|,4 d76efa5 - 1 - c26 - 11 - e7 - bc58 - 000 c29c1b8a9  |   + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +   从库:   root@localhost  [testdb]祝辞select  *,得到t10;   + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +   |,c1 ,, |, c2 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, |   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

binlog的三种模式