set binlog_format=statement; reset master; create database testing_1; use testing_1; create table t1 (a int); create function sf1 (a int) returns int return a+1; create trigger tr1 before insert on t1 for each row insert into t2 values (2*new.a); create procedure sp1 (a int) insert into t1 values(a); drop database testing_1; show binlog events from ; Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Query # # create database testing_1 master-bin.000001 # Query # # use `testing_1`; create table t1 (a int) master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` FUNCTION `sf1`(a int) RETURNS int(11) return a+1 master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` trigger tr1 before insert on t1 for each row insert into t2 values (2*new.a) master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` PROCEDURE `sp1`(a int) insert into t1 values(a) master-bin.000001 # Query # # drop database testing_1 use test; reset master; create temporary table tt1 (a int); create table t1 (a int); insert into t1 values (1); drop database if exists mysqltest1; insert into t1 values (1); drop table tt1, t1; show binlog events from ; Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Query # # use `test`; create temporary table tt1 (a int) master-bin.000001 # Query # # use `test`; create table t1 (a int) master-bin.000001 # Query # # BEGIN master-bin.000001 # Query # # use `test`; insert into t1 values (1) master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # drop database if exists mysqltest1 master-bin.000001 # Query # # BEGIN master-bin.000001 # Query # # use `test`; insert into t1 values (1) master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt1` /* generated by server */ master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */ FLUSH STATUS; # # Bug#11765416 58381: FAILED DROP DATABASE CAN BREAK STATEMENT # BASED REPLICATION # DROP DATABASE IF EXISTS db1; DROP TABLE IF EXISTS t3; CREATE DATABASE db1; CREATE TABLE db1.t1 (a INT); CREATE TABLE db1.t2 (b INT, KEY(b)) engine=innodb; CREATE TABLE t3 (a INT, KEY (a), FOREIGN KEY(a) REFERENCES db1.t2(b)) engine=innodb; RESET MASTER; DROP DATABASE db1; ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails SHOW TABLES FROM db1; Tables_in_db1 t2 show binlog events from ; Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Query # # use `db1`; drop table `t1` DROP TABLE t3; DROP DATABASE db1; set binlog_format=mixed; reset master; create database testing_1; use testing_1; create table t1 (a int); create function sf1 (a int) returns int return a+1; create trigger tr1 before insert on t1 for each row insert into t2 values (2*new.a); create procedure sp1 (a int) insert into t1 values(a); drop database testing_1; show binlog events from ; Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Query # # create database testing_1 master-bin.000001 # Query # # use `testing_1`; create table t1 (a int) master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` FUNCTION `sf1`(a int) RETURNS int(11) return a+1 master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` trigger tr1 before insert on t1 for each row insert into t2 values (2*new.a) master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` PROCEDURE `sp1`(a int) insert into t1 values(a) master-bin.000001 # Query # # drop database testing_1 use test; reset master; create temporary table tt1 (a int); create table t1 (a int); insert into t1 values (1); drop database if exists mysqltest1; insert into t1 values (1); drop table tt1, t1; show binlog events from ; Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Query # # use `test`; create temporary table tt1 (a int) master-bin.000001 # Query # # use `test`; create table t1 (a int) master-bin.000001 # Query # # BEGIN master-bin.000001 # Query # # use `test`; insert into t1 values (1) master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # drop database if exists mysqltest1 master-bin.000001 # Query # # BEGIN master-bin.000001 # Query # # use `test`; insert into t1 values (1) master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt1` /* generated by server */ master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */ FLUSH STATUS; # # Bug#11765416 58381: FAILED DROP DATABASE CAN BREAK STATEMENT # BASED REPLICATION # DROP DATABASE IF EXISTS db1; DROP TABLE IF EXISTS t3; CREATE DATABASE db1; CREATE TABLE db1.t1 (a INT); CREATE TABLE db1.t2 (b INT, KEY(b)) engine=innodb; CREATE TABLE t3 (a INT, KEY (a), FOREIGN KEY(a) REFERENCES db1.t2(b)) engine=innodb; RESET MASTER; DROP DATABASE db1; ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails SHOW TABLES FROM db1; Tables_in_db1 t2 show binlog events from ; Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Query # # use `db1`; drop table `t1` DROP TABLE t3; DROP DATABASE db1; set binlog_format=row; reset master; create database testing_1; use testing_1; create table t1 (a int); create function sf1 (a int) returns int return a+1; create trigger tr1 before insert on t1 for each row insert into t2 values (2*new.a); create procedure sp1 (a int) insert into t1 values(a); drop database testing_1; show binlog events from ; Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Query # # create database testing_1 master-bin.000001 # Query # # use `testing_1`; create table t1 (a int) master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` FUNCTION `sf1`(a int) RETURNS int(11) return a+1 master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` trigger tr1 before insert on t1 for each row insert into t2 values (2*new.a) master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` PROCEDURE `sp1`(a int) insert into t1 values(a) master-bin.000001 # Query # # drop database testing_1 use test; reset master; create temporary table tt1 (a int); create table t1 (a int); insert into t1 values (1); drop database if exists mysqltest1; insert into t1 values (1); drop table tt1, t1; show binlog events from ; Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Query # # use `test`; create table t1 (a int) master-bin.000001 # Query # # BEGIN master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # drop database if exists mysqltest1 master-bin.000001 # Query # # BEGIN master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE IF EXISTS `tt1` /* generated by server */ master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */ FLUSH STATUS; # # Bug#11765416 58381: FAILED DROP DATABASE CAN BREAK STATEMENT # BASED REPLICATION # DROP DATABASE IF EXISTS db1; DROP TABLE IF EXISTS t3; CREATE DATABASE db1; CREATE TABLE db1.t1 (a INT); CREATE TABLE db1.t2 (b INT, KEY(b)) engine=innodb; CREATE TABLE t3 (a INT, KEY (a), FOREIGN KEY(a) REFERENCES db1.t2(b)) engine=innodb; RESET MASTER; DROP DATABASE db1; ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails SHOW TABLES FROM db1; Tables_in_db1 t2 show binlog events from ; Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Query # # use `db1`; drop table `t1` DROP TABLE t3; DROP DATABASE db1; show databases; Database information_schema mtr mysql performance_schema test