Current Path : /home/usr.opt/mysql57/mysql-test/suite/rpl/t/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //home/usr.opt/mysql57/mysql-test/suite/rpl/t/rpl_ignore_grant.test |
# Test that GRANT is not replicated to the slave # when --replicate-wild-ignore-table=mysql.% # In BUG#980, this test would _randomly_ fail. --source include/not_group_replication_plugin.inc source include/master-slave.inc; # do not be influenced by other tests. connection master; delete from mysql.user where user=_binary'rpl_ignore_grant'; delete from mysql.db where user=_binary'rpl_ignore_grant'; flush privileges; save_master_pos; connection slave; sync_with_master; # as these DELETE were not replicated, we need to do them manually on the # slave. delete from mysql.user where user=_binary'rpl_ignore_grant'; delete from mysql.db where user=_binary'rpl_ignore_grant'; flush privileges; # test non-replication of GRANT connection master; set @orig_sql_mode= @@sql_mode; set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); grant select on *.* to rpl_ignore_grant@localhost; set sql_mode= @orig_sql_mode; grant drop on test.* to rpl_ignore_grant@localhost; show grants for rpl_ignore_grant@localhost; save_master_pos; connection slave; sync_with_master; --error 1141 #("no such grant for user") show grants for rpl_ignore_grant@localhost; # check it another way select count(*) from mysql.user where user=_binary'rpl_ignore_grant'; select count(*) from mysql.db where user=_binary'rpl_ignore_grant'; # test non-replication of SET PASSWORD # first force creation of the user on slave (because as the user does not exist # on slave, the SET PASSWORD may be replicated but silently do nothing; this is # not what we want; we want it to be not-replicated). set @orig_sql_mode= @@sql_mode; set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); grant select on *.* to rpl_ignore_grant@localhost; set sql_mode= @orig_sql_mode; connection master; set password for rpl_ignore_grant@localhost="does it work?"; save_master_pos; connection slave; sync_with_master; select authentication_string<>_binary'' from mysql.user where user=_binary'rpl_ignore_grant'; # clear what we have done, to not influence other tests. connection master; delete from mysql.user where user=_binary'rpl_ignore_grant'; delete from mysql.db where user=_binary'rpl_ignore_grant'; flush privileges; save_master_pos; connection slave; sync_with_master; delete from mysql.user where user=_binary'rpl_ignore_grant'; delete from mysql.db where user=_binary'rpl_ignore_grant'; flush privileges; # End of 4.1 tests --source include/rpl_end.inc