1# 2# Test if dynamic replication database filter rules are properly evaluated. 3# 4 5source include/have_binlog_format_statement.inc; 6source include/master-slave.inc; 7 8connection slave; 9--error ER_SLAVE_MUST_STOP 10SET @@GLOBAL.replicate_do_db="db1"; 11--error ER_SLAVE_MUST_STOP 12SET @@GLOBAL.replicate_ignore_db="db2"; 13 14connection slave; 15source include/stop_slave.inc; 16SET @@GLOBAL.replicate_do_db="db1"; 17SET @@GLOBAL.replicate_ignore_db="db2"; 18source include/start_slave.inc; 19connection master; 20 21CREATE DATABASE db1; 22CREATE DATABASE db2; 23CREATE DATABASE db3; 24 25# db is mentioned in do-db rules 26USE db1; 27CREATE TABLE t1 (a INT); 28 29# db is mentioned in ignore-db rules 30USE db2; 31CREATE TABLE t2 (a INT); 32 33# db is not mentioned in do-db or ignore-db rules 34USE db3; 35CREATE TABLE t3 (a INT); 36 37USE db1; 38INSERT INTO t1 VALUES (1); 39 40USE db2; 41INSERT INTO t2 VALUES (2); 42 43USE db3; 44INSERT INTO t3 VALUES (3); 45 46# Only db1 should be replicated to slave 47sync_slave_with_master; 48echo [on slave]; 49SHOW DATABASES LIKE 'db%'; 50SHOW TABLES IN db1 LIKE 't%'; 51 52connection master; 53 54# Clean up 55connection master; 56DROP DATABASE IF EXISTS db1; 57DROP DATABASE IF EXISTS db2; 58DROP DATABASE IF EXISTS db3; 59--source include/rpl_end.inc 60 61connection slave; 62SET @@GLOBAL.replicate_do_db=""; 63SET @@GLOBAL.replicate_ignore_db=""; 64