@@ -20,12 +20,17 @@ Grants for root@localhost
20
20
GRANT developers TO 'root'@'localhost' WITH ADMIN OPTION
21
21
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
22
22
GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
23
+ # Test reexecution.
24
+ EXECUTE stmtCreateRole;
25
+ ERROR HY000: Operation CREATE ROLE failed for 'developers'
23
26
#
24
27
# Now grant the role to the test user.
25
28
#
26
29
SET @grantRole = 'GRANT developers to test_user';
27
30
PREPARE stmtGrantRole FROM @grantRole;
28
31
EXECUTE stmtGrantRole;
32
+ # Test reexecution.
33
+ EXECUTE stmtGrantRole;
29
34
#
30
35
# We should see 2 entries in the roles_mapping table.
31
36
#
@@ -43,6 +48,17 @@ GRANT USAGE ON *.* TO 'test_user'@'%'
43
48
SET @revokeRole = 'REVOKE developers FROM test_user';
44
49
PREPARE stmtRevokeRole FROM @revokeRole;
45
50
EXECUTE stmtRevokeRole;
51
+ EXECUTE stmtRevokeRole;
52
+ ERROR HY000: Cannot revoke role 'developers' from: 'test_user'@'%'.
53
+ SHOW GRANTS FOR test_user;
54
+ Grants for test_user@%
55
+ GRANT USAGE ON *.* TO 'test_user'@'%'
56
+ EXECUTE stmtGrantRole;
57
+ SHOW GRANTS FOR test_user;
58
+ Grants for test_user@%
59
+ GRANT developers TO 'test_user'@'%'
60
+ GRANT USAGE ON *.* TO 'test_user'@'%'
61
+ EXECUTE stmtRevokeRole;
46
62
SHOW GRANTS FOR test_user;
47
63
Grants for test_user@%
48
64
GRANT USAGE ON *.* TO 'test_user'@'%'
@@ -67,5 +83,25 @@ GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
67
83
SHOW GRANTS FOR test_user;
68
84
Grants for test_user@%
69
85
GRANT USAGE ON *.* TO 'test_user'@'%'
86
+ #
87
+ # Test reexecution.
88
+ #
89
+ EXECUTE stmtCreateRole;
90
+ SELECT user, host,is_role FROM mysql.user
91
+ WHERE user = 'developers';
92
+ user host is_role
93
+ developers Y
94
+ SELECT * FROM mysql.roles_mapping;
95
+ Host User Role Admin_option
96
+ localhost root developers Y
97
+ SHOW GRANTS;
98
+ Grants for root@localhost
99
+ GRANT developers TO 'root'@'localhost' WITH ADMIN OPTION
100
+ GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
101
+ GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
102
+ SHOW GRANTS FOR test_user;
103
+ Grants for test_user@%
104
+ GRANT USAGE ON *.* TO 'test_user'@'%'
105
+ EXECUTE stmtDropRole;
70
106
# Cleanup.
71
107
DROP USER test_user;
0 commit comments