rpl_ignore_table.test
来自「视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.」· TEST 代码 · 共 151 行
TEST
151 行
source include/master-slave.inc;## BUG#16487# # Requirement:# Multi-updates on ignored tables should not fail even if the slave does # not have the ignored tables.## Note table t1, t2, and t3 are ignored in the option file to this test.#--echo **** Test case for BUG#16487 ****--echo **** Master ****connection master;CREATE TABLE test.t4 (a int);CREATE TABLE test.t1 (a int);# Expect: The row must *not* by updated on slave, since t1 is ignoredUPDATE test.t4 NATURAL JOIN test.t1 SET t1.a=5;--echo **** Slave ****sync_slave_with_master;SELECT * FROM t4;connection master;DROP TABLE t1;DROP TABLE t4;## Bug#25482 GRANT statements are not replicated if# you use "replicate-ignore-table"#--echo **** Test case for BUG#25482 ****--echo **** Adding GRANTS on master ****connection master;create table test.t1(a int);create table test.t4(a int);# Simple user that should not replicateGRANT SELECT ON test.t1 TO mysqltest1@localhost;# Partial replicateGRANT INSERT ON test.t4 TO mysqltest2@localhost;GRANT select, update, insert, references on t1 to mysqltest2@localhost;# Partial replicate 2GRANT SELECT ON test.* TO mysqltest3@localhost;GRANT INSERT ON test.t4 TO mysqltest3@localhost;GRANT select(a), update(a), insert(a), references(a) on t4 to mysqltest3@localhost;# Create another database and tablecreate database mysqltest2;create table mysqltest2.t2 (id int);# Create a grant that should replicateGRANT SELECT ON mysqltest2.t2 TO mysqltest4@localhost IDENTIFIED BY 'pass';# Create a grant manuallyinsert into mysql.user (user, host) values ("mysqltest5", "somehost");# Partial replicate 3 with *.*GRANT SELECT ON *.* TO mysqltest6@localhost;GRANT INSERT ON *.* TO mysqltest6@localhost;GRANT INSERT ON test.* TO mysqltest6@localhost;GRANT INSERT ON test.t1 TO mysqltest6@localhost;show grants for mysqltest1@localhost;show grants for mysqltest2@localhost;show grants for mysqltest3@localhost;show grants for mysqltest4@localhost;show grants for mysqltest6@localhost;flush privileges;show grants for mysqltest5@somehost;sync_slave_with_master;--echo **** Checking grants on slave ****# Check that grants are replicated to slaveshow grants for mysqltest2@localhost;show grants for mysqltest3@localhost;show grants for mysqltest4@localhost;show grants for mysqltest5@somehost;show grants for mysqltest6@localhost;# mysqltest1 should not be on slave--error 1141show grants for mysqltest1@localhost;--echo **** Revoking grants on master ****connection master;REVOKE SELECT ON test.t1 FROM mysqltest1@localhost;REVOKE SELECT ON mysqltest2.t2 FROM mysqltest4@localhost;REVOKE select(a) on t4 from mysqltest3@localhost;show grants for mysqltest1@localhost;show grants for mysqltest3@localhost;show grants for mysqltest4@localhost;sync_slave_with_master;--echo **** Checking grants on slave ****# mysqltest1 should not be on slave--error 1141show grants for mysqltest1@localhost;show grants for mysqltest3@localhost;show grants for mysqltest4@localhost;# Cleanupconnection master;drop table t1, t4, mysqltest2.t2;drop database mysqltest2;delete from mysql.user where user like "mysqltest%";delete from mysql.db where user like "mysqltest%";delete from mysql.tables_priv where user like "mysqltest%";delete from mysql.columns_priv where user like "mysqltest%";sync_slave_with_master;connection master;## bug#22877 replication character sets get out of sync# using replicate-wild-ignore-table#--disable_warningsDROP TABLE IF EXISTS t5;--enable_warningsCREATE TABLE t5 ( word varchar(50) collate utf8_unicode_ci NOT NULL default '') DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;SET @@session.character_set_client=33,@@session.collation_connection=192;CREATE TEMPORARY TABLE tmptbl504451f4258$1 (id INT NOT NULL) ENGINE=MEMORY;INSERT INTO t5 (word) VALUES ('TEST’');SELECT HEX(word) FROM t5;sync_slave_with_master;connection slave;SELECT HEX(word) FROM t5;--error 1146SELECT * FROM tmptbl504451f4258$1;connection master;DROP TABLE t5;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?