mix_innodb_myisam_binlog.result
来自「视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.」· RESULT 代码 · 共 396 行
RESULT
396 行
drop table if exists t1, t2;create table t1 (a int) engine=innodb;create table t2 (a int) engine=myisam;reset master;begin;insert into t1 values(1);insert into t2 select * from t1;commit;show binlog events from 98;Log_name Pos Event_type Server_id End_log_pos Infomaster-bin.000001 98 Query 1 # use `test`; BEGINmaster-bin.000001 166 Query 1 # use `test`; insert into t1 values(1)master-bin.000001 253 Query 1 # use `test`; insert into t2 select * from t1master-bin.000001 347 Xid 1 # COMMIT /* XID */delete from t1;delete from t2;reset master;begin;insert into t1 values(2);insert into t2 select * from t1;rollback;Warnings:Warning 1196 Some non-transactional changed tables couldn't be rolled backshow binlog events from 98;Log_name Pos Event_type Server_id End_log_pos Infomaster-bin.000001 98 Query 1 # use `test`; BEGINmaster-bin.000001 166 Query 1 # use `test`; insert into t1 values(2)master-bin.000001 253 Query 1 # use `test`; insert into t2 select * from t1master-bin.000001 347 Query 1 # use `test`; ROLLBACKdelete from t1;delete from t2;reset master;begin;insert into t1 values(3);savepoint my_savepoint;insert into t1 values(4);insert into t2 select * from t1;rollback to savepoint my_savepoint;Warnings:Warning 1196 Some non-transactional changed tables couldn't be rolled backcommit;show binlog events from 98;Log_name Pos Event_type Server_id End_log_pos Infomaster-bin.000001 98 Query 1 # use `test`; BEGINmaster-bin.000001 166 Query 1 # use `test`; insert into t1 values(3)master-bin.000001 253 Query 1 # use `test`; savepoint my_savepointmaster-bin.000001 338 Query 1 # use `test`; insert into t1 values(4)master-bin.000001 425 Query 1 # use `test`; insert into t2 select * from t1master-bin.000001 519 Query 1 # use `test`; rollback to savepoint my_savepointmaster-bin.000001 616 Xid 1 # COMMIT /* XID */delete from t1;delete from t2;reset master;begin;insert into t1 values(5);savepoint my_savepoint;insert into t1 values(6);insert into t2 select * from t1;rollback to savepoint my_savepoint;Warnings:Warning 1196 Some non-transactional changed tables couldn't be rolled backinsert into t1 values(7);commit;select a from t1 order by a;a57show binlog events from 98;Log_name Pos Event_type Server_id End_log_pos Infomaster-bin.000001 98 Query 1 # use `test`; BEGINmaster-bin.000001 166 Query 1 # use `test`; insert into t1 values(5)master-bin.000001 253 Query 1 # use `test`; savepoint my_savepointmaster-bin.000001 338 Query 1 # use `test`; insert into t1 values(6)master-bin.000001 425 Query 1 # use `test`; insert into t2 select * from t1master-bin.000001 519 Query 1 # use `test`; rollback to savepoint my_savepointmaster-bin.000001 616 Query 1 # use `test`; insert into t1 values(7)master-bin.000001 703 Xid 1 # COMMIT /* XID */delete from t1;delete from t2;reset master;select get_lock("a",10);get_lock("a",10)1begin;insert into t1 values(8);insert into t2 select * from t1;select get_lock("a",10);get_lock("a",10)1show binlog events from 98;Log_name Pos Event_type Server_id End_log_pos Infomaster-bin.000001 98 Query 1 # use `test`; BEGINmaster-bin.000001 166 Query 1 # use `test`; insert into t1 values(8)master-bin.000001 253 Query 1 # use `test`; insert into t2 select * from t1master-bin.000001 347 Query 1 # use `test`; ROLLBACKdelete from t1;delete from t2;reset master;insert into t1 values(9);insert into t2 select * from t1;show binlog events from 98;Log_name Pos Event_type Server_id End_log_pos Infomaster-bin.000001 98 Query 1 # use `test`; insert into t1 values(9)master-bin.000001 185 Xid 1 # COMMIT /* XID */master-bin.000001 212 Query 1 # use `test`; insert into t2 select * from t1delete from t1;delete from t2;reset master;insert into t1 values(10);begin;insert into t2 select * from t1;show binlog events from 98;Log_name Pos Event_type Server_id End_log_pos Infomaster-bin.000001 98 Query 1 # use `test`; insert into t1 values(10)master-bin.000001 186 Xid 1 # COMMIT /* XID */master-bin.000001 213 Query 1 # use `test`; insert into t2 select * from t1insert into t1 values(11);commit;show binlog events from 98;Log_name Pos Event_type Server_id End_log_pos Infomaster-bin.000001 98 Query 1 # use `test`; insert into t1 values(10)master-bin.000001 186 Xid 1 # COMMIT /* XID */master-bin.000001 213 Query 1 # use `test`; insert into t2 select * from t1master-bin.000001 307 Query 1 # use `test`; BEGINmaster-bin.000001 375 Query 1 # use `test`; insert into t1 values(11)master-bin.000001 463 Xid 1 # COMMIT /* XID */alter table t2 engine=INNODB;delete from t1;delete from t2;reset master;begin;insert into t1 values(12);insert into t2 select * from t1;commit;show binlog events from 98;Log_name Pos Event_type Server_id End_log_pos Infomaster-bin.000001 98 Query 1 # use `test`; BEGINmaster-bin.000001 166 Query 1 # use `test`; insert into t1 values(12)master-bin.000001 254 Query 1 # use `test`; insert into t2 select * from t1master-bin.000001 348 Xid 1 # COMMIT /* XID */delete from t1;delete from t2;reset master;begin;insert into t1 values(13);insert into t2 select * from t1;rollback;show binlog events from 98;Log_name Pos Event_type Server_id End_log_pos Infodelete from t1;delete from t2;reset master;begin;insert into t1 values(14);savepoint my_savepoint;insert into t1 values(15);insert into t2 select * from t1;rollback to savepoint my_savepoint;commit;show binlog events from 98;Log_name Pos Event_type Server_id End_log_pos Infomaster-bin.000001 98 Query 1 # use `test`; BEGINmaster-bin.000001 166 Query 1 # use `test`; insert into t1 values(14)master-bin.000001 254 Xid 1 # COMMIT /* XID */delete from t1;delete from t2;reset master;begin;insert into t1 values(16);savepoint my_savepoint;insert into t1 values(17);insert into t2 select * from t1;rollback to savepoint my_savepoint;insert into t1 values(18);commit;select a from t1 order by a;a1618show binlog events from 98;Log_name Pos Event_type Server_id End_log_pos Infomaster-bin.000001 98 Query 1 # use `test`; BEGINmaster-bin.000001 166 Query 1 # use `test`; insert into t1 values(16)master-bin.000001 254 Query 1 # use `test`; insert into t1 values(18)master-bin.000001 342 Xid 1 # COMMIT /* XID */delete from t1;delete from t2;alter table t2 type=MyISAM;insert into t1 values (1);begin;select * from t1 for update;a1select (@before:=unix_timestamp())*0;(@before:=unix_timestamp())*00begin;select * from t1 for update;insert into t2 values (20);ERROR HY000: Lock wait timeout exceeded; try restarting transactionselect (@after:=unix_timestamp())*0;(@after:=unix_timestamp())*00select (@after-@before) >= 2;(@after-@before) >= 21drop table t1,t2;commit;begin;create temporary table ti (a int) engine=innodb;rollback;Warnings:Warning 1196 Some non-transactional changed tables couldn't be rolled backinsert into ti values(1);set autocommit=0;create temporary table t1 (a int) engine=myisam;commit;insert t1 values (1);rollback;Warnings:Warning 1196 Some non-transactional changed tables couldn't be rolled backcreate table t0 (n int);insert t0 select * from t1;set autocommit=1;insert into t0 select GET_LOCK("lock1",null);set autocommit=0;create table t2 (n int) engine=innodb;insert into t2 values (3);select get_lock("lock1",60);get_lock("lock1",60)1show binlog events from 98;Log_name Pos Event_type Server_id End_log_pos Infomaster-bin.000001 98 Query 1 # use `test`; BEGINmaster-bin.000001 166 Query 1 # use `test`; insert into t1 values(16)master-bin.000001 254 Query 1 # use `test`; insert into t1 values(18)master-bin.000001 342 Xid 1 # COMMIT /* XID */master-bin.000001 369 Query 1 # use `test`; delete from t1master-bin.000001 446 Xid 1 # COMMIT /* XID */master-bin.000001 473 Query 1 # use `test`; delete from t2master-bin.000001 550 Xid 1 # COMMIT /* XID */master-bin.000001 577 Query 1 # use `test`; alter table t2 type=MyISAMmaster-bin.000001 666 Query 1 # use `test`; insert into t1 values (1)master-bin.000001 754 Xid 1 # COMMIT /* XID */master-bin.000001 781 Query 1 # use `test`; insert into t2 values (20)master-bin.000001 870 Query 1 # use `test`; drop table t1,t2master-bin.000001 949 Query 1 # use `test`; create temporary table ti (a int) engine=innodbmaster-bin.000001 1059 Query 1 # use `test`; insert into ti values(1)master-bin.000001 1146 Xid 1 # COMMIT /* XID */master-bin.000001 1173 Query 1 # use `test`; create temporary table t1 (a int) engine=myisammaster-bin.000001 1283 Query 1 # use `test`; insert t1 values (1)master-bin.000001 1366 Query 1 # use `test`; create table t0 (n int)master-bin.000001 1452 Query 1 # use `test`; insert t0 select * from t1master-bin.000001 1541 Query 1 # use `test`; insert into t0 select GET_LOCK("lock1",null)master-bin.000001 1648 Query 1 # use `test`; create table t2 (n int) engine=innodbmaster-bin.000001 1748 Query 1 # use `test`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `test`.`t1`,`test`.`ti`do release_lock("lock1");drop table t0,t2;reset master;create table t1 (a int) engine=innodb;create table t2 (a int) engine=myisam;select get_lock("a",10);get_lock("a",10)1begin;insert into t1 values(8);insert into t2 select * from t1;select get_lock("a",10);get_lock("a",10)1select(@a:=load_file("MYSQLTEST_VARDIR/tmp/mix_innodb_myisam_binlog.output"))is not null;(@a:=load_file("MYSQLTEST_VARDIR/tmp/mix_innodb_myisam_binlog.output"))is not null1select@a like "%#%error_code=0%ROLLBACK/*!*/;%ROLLBACK /* added by mysqlbinlog */;%",@a not like "%#%error_code=%error_code=%";@a like "%#%error_code=0%ROLLBACK/*!*/;%ROLLBACK /* added by mysqlbinlog */;%" @a not like "%#%error_code=%error_code=%"1 1drop table t1, t2;create temporary table tt (a int unique);create table ti (a int) engine=innodb;reset master;show master status;File Position Binlog_Do_DB Binlog_Ignore_DBmaster-bin.000001 98 begin;insert into ti values (1);insert into ti values (2) ;insert into tt select * from ti;rollback;Warnings:Warning 1196 Some non-transactional changed tables couldn't be rolled backselect count(*) from tt /* 2 */;count(*)2show master status;File Position Binlog_Do_DB Binlog_Ignore_DBmaster-bin.000001 507 show binlog events from 98;Log_name Pos Event_type Server_id End_log_pos Infomaster-bin.000001 # Query 1 # use `test`; BEGINmaster-bin.000001 # Query 1 # use `test`; insert into ti values (1)master-bin.000001 # Query 1 # use `test`; insert into ti values (2)master-bin.000001 # Query 1 # use `test`; insert into tt select * from timaster-bin.000001 # Query 1 # use `test`; ROLLBACKselect count(*) from ti /* zero */;count(*)0insert into ti select * from tt;select * from ti /* that is what slave would miss - a bug */;a12delete from ti;delete from tt where a=1;reset master;show master status;File Position Binlog_Do_DB Binlog_Ignore_DBmaster-bin.000001 98 begin;insert into ti values (1);insert into ti values (2) /* to make the dup error in the following */;insert into tt select * from ti /* one affected and error */;ERROR 23000: Duplicate entry '2' for key 1rollback;Warnings:Warning 1196 Some non-transactional changed tables couldn't be rolled backshow master status;File Position Binlog_Do_DB Binlog_Ignore_DBmaster-bin.000001 581 show binlog events from 98;Log_name Pos Event_type Server_id End_log_pos Infomaster-bin.000001 # Query 1 # use `test`; BEGINmaster-bin.000001 # Query 1 # use `test`; insert into ti values (1)master-bin.000001 # Query 1 # use `test`; insert into ti values (2) /* to make the dup error in the following */master-bin.000001 # Query 1 # use `test`; insert into tt select * from ti /* one affected and error */master-bin.000001 # Query 1 # use `test`; ROLLBACKselect count(*) from ti /* zero */;count(*)0insert into ti select * from tt;select * from tt /* that is what otherwise slave missed - the bug */;a12drop table ti;drop function if exists bug27417;drop table if exists t1,t2;CREATE TABLE t1 (a int NOT NULL auto_increment primary key) ENGINE=MyISAM;CREATE TABLE t2 (a int NOT NULL auto_increment, PRIMARY KEY (a));create function bug27417(n int) RETURNS int(11)begininsert into t1 values (null);return n;end|reset master;insert into t2 values (bug27417(1));insert into t2 select bug27417(2);reset master;insert into t2 values (bug27417(2));ERROR 23000: Duplicate entry '2' for key 1show master status;File Position Binlog_Do_DB Binlog_Ignore_DBmaster-bin.000001 98 /* only (!) with fixes for #23333 will show there is the query */;select count(*) from t1 /* must be 3 */;count(*)3reset master;select count(*) from t2;count(*)2delete from t2 where a=bug27417(3);select count(*) from t2 /* nothing got deleted */;count(*)2show master status;File Position Binlog_Do_DB Binlog_Ignore_DBmaster-bin.000001 195 /* the query must be in regardless of #23333 */;select count(*) from t1 /* must be 5 */;count(*)5delete t2 from t2 where t2.a=bug27417(100) /* must not affect t2 */;affected rows: 0select count(*) from t1 /* must be 7 */;count(*)7drop function bug27417;drop table t1,t2;end of tests
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?