rpl_ignore_grant.test
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:2k
源码类别:
MySQL数据库
开发平台:
Visual C++
- # 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/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;
- grant select on *.* to rpl_ignore_grant@localhost;
- 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).
- grant select on *.* to rpl_ignore_grant@localhost;
- connection master;
- set password for rpl_ignore_grant@localhost=password("does it work?");
- save_master_pos;
- connection slave;
- sync_with_master;
- select password<>_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