1include/master-slave.inc 2[connection master] 3connection slave; 4SET GLOBAL read_only=1; 5connection master; 6CREATE PROCEDURE testproc() 7BEGIN 8DROP TEMPORARY TABLE IF EXISTS t1_tmp; 9DROP TEMPORARY TABLE IF EXISTS t2_tmp; 10CREATE TEMPORARY TABLE IF NOT EXISTS t1_tmp ( t1 varchar(400) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8; 11CREATE TEMPORARY TABLE IF NOT EXISTS t2_tmp ( t2 varchar(16) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 12END| 13SET GLOBAL read_only=1; 14CALL testproc(); 15******** None of the above DROP TEMPORARY TABLE statement should be found in binary log ******** 16include/show_binlog_events.inc 17Log_name Pos Event_type Server_id End_log_pos Info 18master-bin.000001 # Gtid # # GTID #-#-# 19master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE `testproc`() 20BEGIN 21DROP TEMPORARY TABLE IF EXISTS t1_tmp; 22DROP TEMPORARY TABLE IF EXISTS t2_tmp; 23CREATE TEMPORARY TABLE IF NOT EXISTS t1_tmp ( t1 varchar(400) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8; 24CREATE TEMPORARY TABLE IF NOT EXISTS t2_tmp ( t2 varchar(16) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 25END 26connection slave; 27SELECT @@read_only; 28@@read_only 291 30======== CLEAN UP ========= 31connection master; 32DROP TEMPORARY TABLE t1_tmp; 33DROP TEMPORARY TABLE t2_tmp; 34DROP PROCEDURE testproc; 35SET GLOBAL read_only=0; 36connection slave; 37SET GLOBAL read_only=0; 38include/rpl_end.inc 39