~linuxjedi/drizzle/trunk-bug-667053

« back to all changes in this revision

Viewing changes to mysql-test/suite/rpl/t/rpl_do_grant.test

  • Committer: brian
  • Date: 2008-06-25 05:29:13 UTC
  • Revision ID: brian@localhost.localdomain-20080625052913-6upwo0jsrl4lnapl
clean slate

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Works in statement-based and row-based binlogging.
 
2
# Test that GRANT and other user management commands are replicated to the slave
 
3
 
 
4
-- source include/master-slave.inc
 
5
 
 
6
# do not be influenced by other tests.
 
7
connection master;
 
8
delete from mysql.user where user=_binary'rpl_do_grant';
 
9
delete from mysql.db where user=_binary'rpl_do_grant';
 
10
flush privileges;
 
11
save_master_pos;
 
12
connection slave;
 
13
sync_with_master;
 
14
# if these DELETE did nothing on the master, we need to do them manually on the
 
15
# slave.
 
16
delete from mysql.user where user=_binary'rpl_ignore_grant';
 
17
delete from mysql.db where user=_binary'rpl_ignore_grant';
 
18
flush privileges;
 
19
 
 
20
# test replication of GRANT
 
21
connection master;
 
22
grant select on *.* to rpl_do_grant@localhost;
 
23
grant drop on test.* to rpl_do_grant@localhost;
 
24
save_master_pos;
 
25
connection slave;
 
26
sync_with_master;
 
27
show grants for rpl_do_grant@localhost;
 
28
 
 
29
# test replication of SET PASSWORD
 
30
connection master;
 
31
set password for rpl_do_grant@localhost=password("does it work?");
 
32
save_master_pos;
 
33
connection slave;
 
34
sync_with_master;
 
35
select password<>_binary'' from mysql.user where user=_binary'rpl_do_grant';
 
36
 
 
37
#
 
38
# Bug#24158 SET PASSWORD in binary log fails under ANSI_QUOTES
 
39
#
 
40
connection master;
 
41
update mysql.user set password='' where user='rpl_do_grant';
 
42
flush privileges;
 
43
select password<>'' from mysql.user where user='rpl_do_grant';
 
44
set sql_mode='ANSI_QUOTES';
 
45
set password for rpl_do_grant@localhost=password('does it work?');
 
46
set sql_mode='';
 
47
save_master_pos;
 
48
connection slave;
 
49
sync_with_master;
 
50
select password<>'' from mysql.user where user='rpl_do_grant';
 
51
 
 
52
 
 
53
# clear what we have done, to not influence other tests.
 
54
connection master;
 
55
delete from mysql.user where user=_binary'rpl_do_grant';
 
56
delete from mysql.db where user=_binary'rpl_do_grant';
 
57
flush privileges;
 
58
sync_slave_with_master;
 
59
# The mysql database is not replicated, so we have to do the deletes
 
60
# manually on the slave as well. 
 
61
delete from mysql.user where user=_binary'rpl_do_grant';
 
62
delete from mysql.db where user=_binary'rpl_do_grant';
 
63
flush privileges;
 
64
 
 
65
# End of 4.1 tests
 
66
 
 
67
connection master;
 
68
--error 1141
 
69
show grants for rpl_do_grant@localhost;
 
70
connection slave;
 
71
--error 1141
 
72
show grants for rpl_do_grant@localhost;
 
73
 
 
74
connection master;
 
75
create user rpl_do_grant@localhost;
 
76
show grants for rpl_do_grant@localhost;
 
77
--error 1141
 
78
show grants for rpl_do_grant2@localhost;
 
79
sync_slave_with_master;
 
80
show grants for rpl_do_grant@localhost;
 
81
--error 1141
 
82
show grants for rpl_do_grant2@localhost;
 
83
 
 
84
connection master;
 
85
rename user rpl_do_grant@localhost to rpl_do_grant2@localhost;
 
86
show grants for rpl_do_grant2@localhost;
 
87
sync_slave_with_master;
 
88
show grants for rpl_do_grant2@localhost;
 
89
 
 
90
connection master;
 
91
grant DELETE,INSERT on mysqltest1.* to rpl_do_grant2@localhost;
 
92
show grants for rpl_do_grant2@localhost;
 
93
sync_slave_with_master;
 
94
show grants for rpl_do_grant2@localhost;
 
95
 
 
96
connection master;
 
97
revoke DELETE on mysqltest1.* from rpl_do_grant2@localhost;
 
98
show grants for rpl_do_grant2@localhost;
 
99
sync_slave_with_master;
 
100
show grants for rpl_do_grant2@localhost;
 
101
 
 
102
connection master;
 
103
revoke all privileges, grant option from rpl_do_grant2@localhost;
 
104
show grants for rpl_do_grant2@localhost;
 
105
sync_slave_with_master;
 
106
show grants for rpl_do_grant2@localhost;
 
107
 
 
108
connection master;
 
109
drop user rpl_do_grant2@localhost;
 
110
--error 1141
 
111
show grants for rpl_do_grant2@localhost;
 
112
sync_slave_with_master;
 
113
--error 1141
 
114
show grants for rpl_do_grant2@localhost;