acl_roles_set_role-database-simple.result 2.18 KB
Newer Older
1
create user 'test_user'@'localhost';
2
create role test_role1;
3
insert into mysql.roles_mapping values ('localhost', 'test_user', 'test_role1');
4 5 6 7 8
select user, host from mysql.user where user not like 'root';
user	host
test_role1	
test_user	localhost
select * from mysql.roles_mapping;
9
Host	User	Role
10 11
localhost	test_user	test_role1
flush privileges;
12 13 14
grant select on mysql.* to test_role1;
grant insert, delete on mysql.roles_mapping to test_role1;
grant reload on *.* to test_role1;
15 16
select * from mysql.roles_mapping;
ERROR 42000: SELECT command denied to user 'test_user'@'localhost' for table 'roles_mapping'
Sergei Golubchik's avatar
Sergei Golubchik committed
17 18
select current_user(), current_role();
current_user()	current_role()
19
test_user@localhost	NULL
20
set role test_role1;
Sergei Golubchik's avatar
Sergei Golubchik committed
21 22 23
select current_user(), current_role();
current_user()	current_role()
test_user@localhost	test_role1
24
select * from mysql.roles_mapping;
25
Host	User	Role
26 27 28
localhost	test_user	test_role1
insert into mysql.user (user, host) values ('Dummy', 'Dummy');
ERROR 42000: INSERT command denied to user 'test_user'@'localhost' for table 'user'
29 30
insert into mysql.roles_mapping values ('localhost', 'test_user', 'test_role2');
delete from mysql.roles_mapping where Role='test_role2';
31 32
use mysql;
set role none;
Sergei Golubchik's avatar
Sergei Golubchik committed
33 34
select current_user(), current_role();
current_user()	current_role()
35
test_user@localhost	NULL
36 37 38 39 40 41
use mysql;
ERROR 42000: Access denied for user 'test_user'@'localhost' to database 'mysql'
select * from mysql.roles_mapping;
ERROR 42000: SELECT command denied to user 'test_user'@'localhost' for table 'roles_mapping'
insert into mysql.user (user, host) values ('Dummy', 'Dummy');
ERROR 42000: INSERT command denied to user 'test_user'@'localhost' for table 'user'
42
insert into mysql.roles_mapping values ('localhost', 'test_user', 'test_role2');
43
ERROR 42000: INSERT command denied to user 'test_user'@'localhost' for table 'roles_mapping'
44
delete from mysql.roles_mapping where Role='test_role2';
45 46
ERROR 42000: DELETE command denied to user 'test_user'@'localhost' for table 'roles_mapping'
drop user 'test_user'@'localhost';
47 48 49
revoke select on mysql.* from test_role1;
revoke insert, delete on mysql.roles_mapping from test_role1;
drop role test_role1;
50
delete from mysql.roles_mapping where Role='test_role1';
51
flush privileges;