mirror of
https://github.com/MariaDB/server.git
synced 2025-12-09 08:01:34 +03:00
rename columns in mysql.roles_mapping to be consistent with other privilege tables
This commit is contained in:
@@ -4,12 +4,12 @@ create user u1;
|
||||
set role r1;
|
||||
grant r1 to u1;
|
||||
select * from mysql.roles_mapping;
|
||||
HostFk UserFk RoleFk
|
||||
Host User Role
|
||||
% u1 r1
|
||||
localhost root r1
|
||||
drop user u1;
|
||||
select * from mysql.roles_mapping;
|
||||
HostFk UserFk RoleFk
|
||||
Host User Role
|
||||
localhost root r1
|
||||
show grants;
|
||||
Grants for root@localhost
|
||||
@@ -19,7 +19,7 @@ GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
|
||||
GRANT USAGE ON *.* TO 'r1'
|
||||
drop role r1;
|
||||
select * from mysql.roles_mapping;
|
||||
HostFk UserFk RoleFk
|
||||
Host User Role
|
||||
show grants;
|
||||
Grants for root@localhost
|
||||
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
|
||||
|
||||
@@ -14,7 +14,7 @@ show grants for u2;
|
||||
Grants for u2@%
|
||||
GRANT USAGE ON *.* TO 'u2'@'%'
|
||||
select * from mysql.roles_mapping;
|
||||
HostFk UserFk RoleFk
|
||||
Host User Role
|
||||
% u1 r1
|
||||
revoke r1 from u1;
|
||||
revoke r1 from u1;
|
||||
@@ -23,7 +23,7 @@ show grants for u1;
|
||||
Grants for u1@%
|
||||
GRANT USAGE ON *.* TO 'u1'@'%'
|
||||
select * from mysql.roles_mapping;
|
||||
HostFk UserFk RoleFk
|
||||
Host User Role
|
||||
grant r1 to u1;
|
||||
grant r1 to u1;
|
||||
ERROR HY000: Cannot grant role 'r1' to: 'u1'.
|
||||
@@ -32,23 +32,23 @@ Grants for u1@%
|
||||
GRANT r1 TO 'u1'@'%'
|
||||
GRANT USAGE ON *.* TO 'u1'@'%'
|
||||
select * from mysql.roles_mapping;
|
||||
HostFk UserFk RoleFk
|
||||
Host User Role
|
||||
% u1 r1
|
||||
drop role r1;
|
||||
show grants for u1;
|
||||
Grants for u1@%
|
||||
GRANT USAGE ON *.* TO 'u1'@'%'
|
||||
select * from mysql.roles_mapping;
|
||||
HostFk UserFk RoleFk
|
||||
Host User Role
|
||||
create role r1;
|
||||
grant r1 to u1;
|
||||
select * from mysql.roles_mapping;
|
||||
HostFk UserFk RoleFk
|
||||
Host User Role
|
||||
% u1 r1
|
||||
drop user u1;
|
||||
show grants for u1;
|
||||
ERROR 42000: There is no such grant defined for user 'u1' on host '%'
|
||||
select * from mysql.roles_mapping;
|
||||
HostFk UserFk RoleFk
|
||||
Host User Role
|
||||
drop role r1;
|
||||
drop user u2;
|
||||
|
||||
@@ -1,16 +1,12 @@
|
||||
create user test_user@localhost;
|
||||
create role test_role1;
|
||||
insert into mysql.roles_mapping (HostFk, UserFk, RoleFk) values ('localhost',
|
||||
'test_user',
|
||||
'test_role1');
|
||||
insert into mysql.roles_mapping values ('localhost', 'test_user', 'test_role1');
|
||||
create role test_role2;
|
||||
insert into mysql.roles_mapping (HostFk, UserFk, RoleFk) values ('',
|
||||
'test_role1',
|
||||
'test_role2');
|
||||
insert into mysql.roles_mapping values ('', 'test_role1', 'test_role2');
|
||||
flush privileges;
|
||||
use mysql;
|
||||
select * from roles_mapping;
|
||||
HostFk UserFk RoleFk
|
||||
Host User Role
|
||||
test_role1 test_role2
|
||||
localhost test_user test_role1
|
||||
rename user 'test_user'@'localhost' to 'test_user_rm'@'newhost';
|
||||
@@ -20,7 +16,7 @@ test_role1
|
||||
test_role2
|
||||
test_user_rm newhost
|
||||
select * from roles_mapping;
|
||||
HostFk UserFk RoleFk
|
||||
Host User Role
|
||||
test_role1 test_role2
|
||||
newhost test_user_rm test_role1
|
||||
delete from mysql.roles_mapping;
|
||||
|
||||
@@ -1,22 +1,16 @@
|
||||
create user 'test_user'@'localhost';
|
||||
create role test_role1;
|
||||
create role test_role2;
|
||||
insert into mysql.roles_mapping (HostFk, UserFk, RoleFk) values ('localhost',
|
||||
'test_user',
|
||||
'test_role1');
|
||||
insert into mysql.roles_mapping (HostFk, UserFk, RoleFk) values ('localhost',
|
||||
'test_user',
|
||||
'test_role2');
|
||||
insert into mysql.roles_mapping (HostFk, UserFk, RoleFk) values ('',
|
||||
'test_role1',
|
||||
'test_role2');
|
||||
insert into mysql.roles_mapping values ('localhost', 'test_user', 'test_role1');
|
||||
insert into mysql.roles_mapping values ('localhost', 'test_user', 'test_role2');
|
||||
insert into mysql.roles_mapping values ('', 'test_role1', 'test_role2');
|
||||
select user, host from mysql.user where user not like 'root';
|
||||
user host
|
||||
test_role1
|
||||
test_role2
|
||||
test_user localhost
|
||||
select * from mysql.roles_mapping;
|
||||
HostFk UserFk RoleFk
|
||||
Host User Role
|
||||
test_role1 test_role2
|
||||
localhost test_user test_role1
|
||||
localhost test_user test_role2
|
||||
@@ -37,7 +31,7 @@ select current_user(), current_role();
|
||||
current_user() current_role()
|
||||
test_user@localhost test_role1
|
||||
select * from mysql.roles_mapping;
|
||||
HostFk UserFk RoleFk
|
||||
Host User Role
|
||||
test_role1 test_role2
|
||||
localhost test_user test_role1
|
||||
localhost test_user test_role2
|
||||
@@ -52,7 +46,7 @@ select current_user(), current_role();
|
||||
current_user() current_role()
|
||||
test_user@localhost test_role2
|
||||
select * from mysql.roles_mapping;
|
||||
HostFk UserFk RoleFk
|
||||
Host User Role
|
||||
test_role1 test_role2
|
||||
localhost test_user test_role1
|
||||
localhost test_user test_role2
|
||||
@@ -60,6 +54,6 @@ drop user 'test_user'@'localhost';
|
||||
revoke select on mysql.* from test_role2;
|
||||
delete from mysql.user where user='test_role1';
|
||||
delete from mysql.user where user='test_role2';
|
||||
delete from mysql.roles_mapping where RoleFk='test_role1';
|
||||
delete from mysql.roles_mapping where RoleFk='test_role2';
|
||||
delete from mysql.roles_mapping where Role='test_role1';
|
||||
delete from mysql.roles_mapping where Role='test_role2';
|
||||
flush privileges;
|
||||
|
||||
@@ -1,14 +1,12 @@
|
||||
create user 'test_user'@'localhost';
|
||||
create role test_role1;
|
||||
insert into mysql.roles_mapping (HostFk, UserFk, RoleFk) values ('localhost',
|
||||
'test_user',
|
||||
'test_role1');
|
||||
insert into mysql.roles_mapping values ('localhost', 'test_user', 'test_role1');
|
||||
select user, host from mysql.user where user not like 'root';
|
||||
user host
|
||||
test_role1
|
||||
test_user localhost
|
||||
select * from mysql.roles_mapping;
|
||||
HostFk UserFk RoleFk
|
||||
Host User Role
|
||||
localhost test_user test_role1
|
||||
flush privileges;
|
||||
grant select on mysql.* to test_role1;
|
||||
@@ -24,14 +22,12 @@ select current_user(), current_role();
|
||||
current_user() current_role()
|
||||
test_user@localhost test_role1
|
||||
select * from mysql.roles_mapping;
|
||||
HostFk UserFk RoleFk
|
||||
Host User Role
|
||||
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'
|
||||
insert into mysql.roles_mapping (HostFk, UserFk, RoleFk) values ('localhost',
|
||||
'test_user',
|
||||
'test_role2');
|
||||
delete from mysql.roles_mapping where RoleFk='test_role2';
|
||||
insert into mysql.roles_mapping values ('localhost', 'test_user', 'test_role2');
|
||||
delete from mysql.roles_mapping where Role='test_role2';
|
||||
use mysql;
|
||||
set role none;
|
||||
select current_user(), current_role();
|
||||
@@ -43,15 +39,13 @@ 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'
|
||||
insert into mysql.roles_mapping (HostFk, UserFk, RoleFk) values ('localhost',
|
||||
'test_user',
|
||||
'test_role2');
|
||||
insert into mysql.roles_mapping values ('localhost', 'test_user', 'test_role2');
|
||||
ERROR 42000: INSERT command denied to user 'test_user'@'localhost' for table 'roles_mapping'
|
||||
delete from mysql.roles_mapping where RoleFk='test_role2';
|
||||
delete from mysql.roles_mapping where Role='test_role2';
|
||||
ERROR 42000: DELETE command denied to user 'test_user'@'localhost' for table 'roles_mapping'
|
||||
drop user 'test_user'@'localhost';
|
||||
revoke select on mysql.* from test_role1;
|
||||
revoke insert, delete on mysql.roles_mapping from test_role1;
|
||||
drop role test_role1;
|
||||
delete from mysql.roles_mapping where RoleFk='test_role1';
|
||||
delete from mysql.roles_mapping where Role='test_role1';
|
||||
flush privileges;
|
||||
|
||||
@@ -35,27 +35,13 @@ Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv D
|
||||
select * from mysql.user where user='r_rld';
|
||||
Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv Event_priv Trigger_priv Create_tablespace_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections plugin authentication_string is_role
|
||||
% r_rld N N N N N N Y N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 Y
|
||||
insert into mysql.roles_mapping (HostFk, UserFk, RoleFk) values ('localhost',
|
||||
'test_user',
|
||||
'r_sel');
|
||||
insert into mysql.roles_mapping (HostFk, UserFk, RoleFk) values ('localhost',
|
||||
'test_user',
|
||||
'r_ins');
|
||||
insert into mysql.roles_mapping (HostFk, UserFk, RoleFk) values ('localhost',
|
||||
'test_user',
|
||||
'r_upd');
|
||||
insert into mysql.roles_mapping (HostFk, UserFk, RoleFk) values ('localhost',
|
||||
'test_user',
|
||||
'r_del');
|
||||
insert into mysql.roles_mapping (HostFk, UserFk, RoleFk) values ('localhost',
|
||||
'test_user',
|
||||
'r_crt');
|
||||
insert into mysql.roles_mapping (HostFk, UserFk, RoleFk) values ('localhost',
|
||||
'test_user',
|
||||
'r_drp');
|
||||
insert into mysql.roles_mapping (HostFk, UserFk, RoleFk) values ('localhost',
|
||||
'test_user',
|
||||
'r_rld');
|
||||
insert into mysql.roles_mapping values ('localhost', 'test_user', 'r_sel');
|
||||
insert into mysql.roles_mapping values ('localhost', 'test_user', 'r_ins');
|
||||
insert into mysql.roles_mapping values ('localhost', 'test_user', 'r_upd');
|
||||
insert into mysql.roles_mapping values ('localhost', 'test_user', 'r_del');
|
||||
insert into mysql.roles_mapping values ('localhost', 'test_user', 'r_crt');
|
||||
insert into mysql.roles_mapping values ('localhost', 'test_user', 'r_drp');
|
||||
insert into mysql.roles_mapping values ('localhost', 'test_user', 'r_rld');
|
||||
flush privileges;
|
||||
select * from mysql.roles_mapping;
|
||||
ERROR 42000: SELECT command denied to user 'test_user'@'localhost' for table 'roles_mapping'
|
||||
@@ -88,7 +74,7 @@ GRANT r_rld TO 'test_user'@'localhost'
|
||||
GRANT r_sel TO 'test_user'@'localhost'
|
||||
GRANT r_upd TO 'test_user'@'localhost'
|
||||
select * from mysql.roles_mapping;
|
||||
HostFk UserFk RoleFk
|
||||
Host User Role
|
||||
localhost test_user r_crt
|
||||
localhost test_user r_del
|
||||
localhost test_user r_drp
|
||||
@@ -113,9 +99,7 @@ GRANT r_sel TO 'test_user'@'localhost'
|
||||
GRANT r_upd TO 'test_user'@'localhost'
|
||||
select * from mysql.roles_mapping;
|
||||
ERROR 42000: SELECT command denied to user 'test_user'@'localhost' for table 'roles_mapping'
|
||||
insert into mysql.roles_mapping (HostFk, UserFk, RoleFk) values ('',
|
||||
'r_sel',
|
||||
'r_rld');
|
||||
insert into mysql.roles_mapping values ('', 'r_sel', 'r_rld');
|
||||
flush privileges;
|
||||
ERROR 42000: Access denied; you need (at least one of) the RELOAD privilege(s) for this operation
|
||||
set role r_rld;
|
||||
@@ -138,21 +122,11 @@ set role r_ins;
|
||||
select current_user(), current_role();
|
||||
current_user() current_role()
|
||||
test_user@localhost r_ins
|
||||
insert into mysql.roles_mapping (HostFk, UserFk, RoleFk) values ('',
|
||||
'r_sel',
|
||||
'r_upd');
|
||||
insert into mysql.roles_mapping (HostFk, UserFk, RoleFk) values ('',
|
||||
'r_sel',
|
||||
'r_del');
|
||||
insert into mysql.roles_mapping (HostFk, UserFk, RoleFk) values ('',
|
||||
'r_sel',
|
||||
'r_crt');
|
||||
insert into mysql.roles_mapping (HostFk, UserFk, RoleFk) values ('',
|
||||
'r_sel',
|
||||
'r_drp');
|
||||
insert into mysql.roles_mapping (HostFk, UserFk, RoleFk) values ('',
|
||||
'r_del',
|
||||
'r_ins');
|
||||
insert into mysql.roles_mapping values ('', 'r_sel', 'r_upd');
|
||||
insert into mysql.roles_mapping values ('', 'r_sel', 'r_del');
|
||||
insert into mysql.roles_mapping values ('', 'r_sel', 'r_crt');
|
||||
insert into mysql.roles_mapping values ('', 'r_sel', 'r_drp');
|
||||
insert into mysql.roles_mapping values ('', 'r_del', 'r_ins');
|
||||
set role r_rld;
|
||||
select current_user(), current_role();
|
||||
current_user() current_role()
|
||||
@@ -162,7 +136,7 @@ set role r_sel;
|
||||
select current_user(), current_role();
|
||||
current_user() current_role()
|
||||
test_user@localhost r_sel
|
||||
update mysql.roles_mapping set RoleFk='r_ins' where RoleFk='r_ins_wrong';
|
||||
update mysql.roles_mapping set Role='r_ins' where Role='r_ins_wrong';
|
||||
flush privileges;
|
||||
set role r_sel;
|
||||
select current_user(), current_role();
|
||||
@@ -173,7 +147,7 @@ insert into mysql.random_test_table values (1);
|
||||
select * from mysql.random_test_table;
|
||||
id
|
||||
1
|
||||
delete from mysql.roles_mapping where RoleFk='r_ins';
|
||||
delete from mysql.roles_mapping where Role='r_ins';
|
||||
flush privileges;
|
||||
set role r_sel;
|
||||
select current_user(), current_role();
|
||||
@@ -183,6 +157,6 @@ insert into mysql.random_test_table values (1);
|
||||
ERROR 42000: INSERT command denied to user 'test_user'@'localhost' for table 'random_test_table'
|
||||
drop table mysql.random_test_table;
|
||||
delete from mysql.user where user like 'r\_%';
|
||||
delete from mysql.roles_mapping where RoleFk like 'r\_%';
|
||||
delete from mysql.roles_mapping where Role like 'r\_%';
|
||||
flush privileges;
|
||||
drop user 'test_user'@'localhost';
|
||||
|
||||
@@ -1,25 +1,21 @@
|
||||
create user 'test_user'@'localhost';
|
||||
create user 'test_role1'@'';
|
||||
update mysql.user set is_role='Y' where user='test_role1';
|
||||
insert into mysql.roles_mapping (HostFk, UserFk, RoleFk) values ('localhost',
|
||||
'test_user',
|
||||
'test_role1');
|
||||
insert into mysql.roles_mapping values ('localhost', 'test_user', 'test_role1');
|
||||
create user 'test_role2'@'';
|
||||
update mysql.user set is_role='Y' where user='test_role2';
|
||||
insert into mysql.roles_mapping (HostFk, UserFk, RoleFk) values ('',
|
||||
'test_role1',
|
||||
'test_role2');
|
||||
insert into mysql.roles_mapping values ('', 'test_role1', 'test_role2');
|
||||
flush privileges;
|
||||
select user, host from mysql.user where user not like 'root';
|
||||
user host
|
||||
test_role1 %
|
||||
test_role2 %
|
||||
test_user localhost
|
||||
select * from mysql.roles_mapping where UserFk like 'test_user';
|
||||
HostFk UserFk RoleFk
|
||||
select * from mysql.roles_mapping where User like 'test_user';
|
||||
Host User Role
|
||||
localhost test_user test_role1
|
||||
select * from mysql.roles_mapping where UserFk like 'test_role1';
|
||||
HostFk UserFk RoleFk
|
||||
select * from mysql.roles_mapping where User like 'test_role1';
|
||||
Host User Role
|
||||
test_role1 test_role2
|
||||
grant select on *.* to 'test_role2'@'';
|
||||
select * from mysql.user where user like 'test_role1';
|
||||
@@ -49,8 +45,8 @@ GRANT USAGE ON *.* TO 'test_role1'
|
||||
GRANT USAGE ON *.* TO 'test_user'@'localhost'
|
||||
GRANT test_role1 TO 'test_user'@'localhost'
|
||||
GRANT test_role2 TO 'test_role1'
|
||||
select * from mysql.roles_mapping where HostFk='';
|
||||
HostFk UserFk RoleFk
|
||||
select * from mysql.roles_mapping where Host='';
|
||||
Host User Role
|
||||
test_role1 test_role2
|
||||
show grants;
|
||||
Grants for test_user@localhost
|
||||
@@ -99,8 +95,8 @@ GRANT USAGE ON *.* TO 'test_role1'
|
||||
GRANT USAGE ON *.* TO 'test_user'@'localhost'
|
||||
GRANT test_role1 TO 'test_user'@'localhost'
|
||||
GRANT test_role2 TO 'test_role1'
|
||||
select * from mysql.roles_mapping where HostFk='';
|
||||
HostFk UserFk RoleFk
|
||||
select * from mysql.roles_mapping where Host='';
|
||||
Host User Role
|
||||
test_role1 test_role2
|
||||
show grants;
|
||||
Grants for test_user@localhost
|
||||
|
||||
@@ -2,15 +2,9 @@ create user 'test_user'@'localhost';
|
||||
create role test_role1;
|
||||
create role test_role2;
|
||||
create role test_role3;
|
||||
insert into mysql.roles_mapping (HostFk, UserFk, RoleFk) values ('localhost',
|
||||
'test_user',
|
||||
'test_role1');
|
||||
insert into mysql.roles_mapping (HostFk, UserFk, RoleFk) values ('localhost',
|
||||
'test_user',
|
||||
'test_role3');
|
||||
insert into mysql.roles_mapping (HostFk, UserFk, RoleFk) values ('',
|
||||
'test_role1',
|
||||
'test_role2');
|
||||
insert into mysql.roles_mapping values ('localhost', 'test_user', 'test_role1');
|
||||
insert into mysql.roles_mapping values ('localhost', 'test_user', 'test_role3');
|
||||
insert into mysql.roles_mapping values ('', 'test_role1', 'test_role2');
|
||||
select user, host from mysql.user where user not like 'root';
|
||||
user host
|
||||
test_role1
|
||||
@@ -18,7 +12,7 @@ test_role2
|
||||
test_role3
|
||||
test_user localhost
|
||||
select * from mysql.roles_mapping;
|
||||
HostFk UserFk RoleFk
|
||||
Host User Role
|
||||
test_role1 test_role2
|
||||
localhost test_user test_role1
|
||||
localhost test_user test_role3
|
||||
@@ -101,7 +95,7 @@ revoke execute on function mysql.test_func from test_role2;
|
||||
revoke execute on procedure mysql.test_proc from test_role2;
|
||||
revoke execute on mysql.* from test_role3;
|
||||
delete from mysql.user where user like'test_%';
|
||||
delete from mysql.roles_mapping where RoleFk like 'test%';
|
||||
delete from mysql.roles_mapping where Role like 'test%';
|
||||
drop function mysql.test_func;
|
||||
drop procedure mysql.test_proc;
|
||||
Warnings:
|
||||
|
||||
@@ -1,15 +1,13 @@
|
||||
create user 'test_user'@'localhost';
|
||||
create user 'test_role1'@'';
|
||||
update mysql.user set is_role='Y' where user='test_role1';
|
||||
insert into mysql.roles_mapping (HostFk, UserFk, RoleFk) values ('localhost',
|
||||
'test_user',
|
||||
'test_role1');
|
||||
insert into mysql.roles_mapping values ('localhost', 'test_user', 'test_role1');
|
||||
select user, host from mysql.user where user not like 'root';
|
||||
user host
|
||||
test_role1 %
|
||||
test_user localhost
|
||||
select * from mysql.roles_mapping;
|
||||
HostFk UserFk RoleFk
|
||||
Host User Role
|
||||
localhost test_user test_role1
|
||||
grant select on *.* to 'test_role1'@'';
|
||||
select * from mysql.user where user='test_role1';
|
||||
@@ -35,7 +33,7 @@ GRANT SELECT ON *.* TO 'test_role1'
|
||||
GRANT USAGE ON *.* TO 'test_user'@'localhost'
|
||||
GRANT test_role1 TO 'test_user'@'localhost'
|
||||
select * from mysql.roles_mapping;
|
||||
HostFk UserFk RoleFk
|
||||
Host User Role
|
||||
localhost test_user test_role1
|
||||
set role none;
|
||||
select current_user(), current_role();
|
||||
@@ -44,6 +42,6 @@ test_user@localhost NULL
|
||||
select * from mysql.roles_mapping;
|
||||
ERROR 42000: SELECT command denied to user 'test_user'@'localhost' for table 'roles_mapping'
|
||||
delete from mysql.user where user='test_role1';
|
||||
delete from mysql.roles_mapping where RoleFk='test_role1';
|
||||
delete from mysql.roles_mapping where Role='test_role1';
|
||||
flush privileges;
|
||||
drop user 'test_user'@'localhost';
|
||||
|
||||
@@ -1,22 +1,18 @@
|
||||
create user 'test_user'@'localhost';
|
||||
create role test_role1;
|
||||
create role test_role2;
|
||||
insert into mysql.roles_mapping (HostFk, UserFk, RoleFk) values ('localhost',
|
||||
'test_user',
|
||||
'test_role1');
|
||||
insert into mysql.roles_mapping (HostFk, UserFk, RoleFk) values ('',
|
||||
'test_role1',
|
||||
'test_role2');
|
||||
insert into mysql.roles_mapping values ('localhost', 'test_user', 'test_role1');
|
||||
insert into mysql.roles_mapping values ('', 'test_role1', 'test_role2');
|
||||
select user, host from mysql.user where user not like 'root';
|
||||
user host
|
||||
test_role1
|
||||
test_role2
|
||||
test_user localhost
|
||||
select * from mysql.roles_mapping;
|
||||
HostFk UserFk RoleFk
|
||||
Host User Role
|
||||
test_role1 test_role2
|
||||
localhost test_user test_role1
|
||||
grant select (RoleFk) on mysql.roles_mapping to test_role2;
|
||||
grant select (Role) on mysql.roles_mapping to test_role2;
|
||||
flush privileges;
|
||||
select * from mysql.roles_mapping;
|
||||
ERROR 42000: SELECT command denied to user 'test_user'@'localhost' for table 'roles_mapping'
|
||||
@@ -33,21 +29,21 @@ current_user() current_role()
|
||||
test_user@localhost test_role1
|
||||
show grants;
|
||||
Grants for test_user@localhost
|
||||
GRANT SELECT (RoleFk) ON `mysql`.`roles_mapping` TO 'test_role2'
|
||||
GRANT SELECT (Role) ON `mysql`.`roles_mapping` TO 'test_role2'
|
||||
GRANT USAGE ON *.* TO 'test_role1'
|
||||
GRANT USAGE ON *.* TO 'test_role2'
|
||||
GRANT USAGE ON *.* TO 'test_user'@'localhost'
|
||||
GRANT test_role1 TO 'test_user'@'localhost'
|
||||
GRANT test_role2 TO 'test_role1'
|
||||
select * from mysql.roles_mapping;
|
||||
ERROR 42000: SELECT command denied to user 'test_user'@'localhost' for column 'HostFk' in table 'roles_mapping'
|
||||
select RoleFk from mysql.roles_mapping;
|
||||
RoleFk
|
||||
ERROR 42000: SELECT command denied to user 'test_user'@'localhost' for column 'Host' in table 'roles_mapping'
|
||||
select Role from mysql.roles_mapping;
|
||||
Role
|
||||
test_role1
|
||||
test_role2
|
||||
show grants;
|
||||
Grants for test_user@localhost
|
||||
GRANT SELECT (RoleFk) ON `mysql`.`roles_mapping` TO 'test_role2'
|
||||
GRANT SELECT (Role) ON `mysql`.`roles_mapping` TO 'test_role2'
|
||||
GRANT USAGE ON *.* TO 'test_role1'
|
||||
GRANT USAGE ON *.* TO 'test_role2'
|
||||
GRANT USAGE ON *.* TO 'test_user'@'localhost'
|
||||
@@ -58,7 +54,7 @@ set role none;
|
||||
select current_user(), current_role();
|
||||
current_user() current_role()
|
||||
test_user@localhost NULL
|
||||
select RoleFk from mysql.roles_mapping;
|
||||
select Role from mysql.roles_mapping;
|
||||
ERROR 42000: SELECT command denied to user 'test_user'@'localhost' for table 'roles_mapping'
|
||||
drop user 'test_user'@'localhost';
|
||||
select * from mysql.tables_priv;
|
||||
@@ -66,5 +62,5 @@ Host Db User Table_name Grantor Timestamp Table_priv Column_priv
|
||||
mysql test_role2 roles_mapping root@localhost 0000-00-00 00:00:00 Select
|
||||
revoke select on mysql.roles_mapping from test_role2;
|
||||
delete from mysql.user where user like'test_%';
|
||||
delete from mysql.roles_mapping where RoleFk like 'test%';
|
||||
delete from mysql.roles_mapping where Role like 'test%';
|
||||
flush privileges;
|
||||
|
||||
@@ -1,19 +1,15 @@
|
||||
create user 'test_user'@'localhost';
|
||||
create role test_role1;
|
||||
create role test_role2;
|
||||
insert into mysql.roles_mapping (HostFk, UserFk, RoleFk) values ('localhost',
|
||||
'test_user',
|
||||
'test_role1');
|
||||
insert into mysql.roles_mapping (HostFk, UserFk, RoleFk) values ('',
|
||||
'test_role1',
|
||||
'test_role2');
|
||||
insert into mysql.roles_mapping values ('localhost', 'test_user', 'test_role1');
|
||||
insert into mysql.roles_mapping values ('', 'test_role1', 'test_role2');
|
||||
select user, host from mysql.user where user not like 'root';
|
||||
user host
|
||||
test_role1
|
||||
test_role2
|
||||
test_user localhost
|
||||
select * from mysql.roles_mapping;
|
||||
HostFk UserFk RoleFk
|
||||
Host User Role
|
||||
test_role1 test_role2
|
||||
localhost test_user test_role1
|
||||
grant select on mysql.roles_mapping to test_role2;
|
||||
@@ -40,7 +36,7 @@ GRANT USAGE ON *.* TO 'test_user'@'localhost'
|
||||
GRANT test_role1 TO 'test_user'@'localhost'
|
||||
GRANT test_role2 TO 'test_role1'
|
||||
select * from mysql.roles_mapping;
|
||||
HostFk UserFk RoleFk
|
||||
Host User Role
|
||||
test_role1 test_role2
|
||||
localhost test_user test_role1
|
||||
show grants;
|
||||
@@ -64,5 +60,5 @@ Host Db User Table_name Grantor Timestamp Table_priv Column_priv
|
||||
mysql test_role2 roles_mapping root@localhost 0000-00-00 00:00:00 Select
|
||||
revoke select on mysql.roles_mapping from test_role2;
|
||||
delete from mysql.user where user like'test_%';
|
||||
delete from mysql.roles_mapping where RoleFk like 'test%';
|
||||
delete from mysql.roles_mapping where Role like 'test%';
|
||||
flush privileges;
|
||||
|
||||
@@ -1,22 +1,16 @@
|
||||
create user 'test_user'@'localhost';
|
||||
create role test_role1;
|
||||
create role test_role2;
|
||||
insert into mysql.roles_mapping (HostFk, UserFk, RoleFk) values ('localhost',
|
||||
'test_user',
|
||||
'test_role1');
|
||||
insert into mysql.roles_mapping (HostFk, UserFk, RoleFk) values ('localhost',
|
||||
'test_user',
|
||||
'test_role2');
|
||||
insert into mysql.roles_mapping (HostFk, UserFk, RoleFk) values ('',
|
||||
'test_role1',
|
||||
'test_role2');
|
||||
insert into mysql.roles_mapping values ('localhost', 'test_user', 'test_role1');
|
||||
insert into mysql.roles_mapping values ('localhost', 'test_user', 'test_role2');
|
||||
insert into mysql.roles_mapping values ('', 'test_role1', 'test_role2');
|
||||
select user, host from mysql.user where user not like 'root';
|
||||
user host
|
||||
test_role1
|
||||
test_role2
|
||||
test_user localhost
|
||||
select * from mysql.roles_mapping;
|
||||
HostFk UserFk RoleFk
|
||||
Host User Role
|
||||
test_role1 test_role2
|
||||
localhost test_user test_role1
|
||||
localhost test_user test_role2
|
||||
@@ -145,6 +139,6 @@ drop user 'test_user'@'localhost';
|
||||
revoke select on mysql.* from test_role2;
|
||||
drop role test_role1;
|
||||
drop role test_role2;
|
||||
delete from mysql.roles_mapping where RoleFk='test_role1';
|
||||
delete from mysql.roles_mapping where RoleFk='test_role2';
|
||||
delete from mysql.roles_mapping where Role='test_role1';
|
||||
delete from mysql.roles_mapping where Role='test_role2';
|
||||
flush privileges;
|
||||
|
||||
Reference in New Issue
Block a user