mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 13:02:28 +01:00
6c55e52b10
The issue comes from not taking all possibilities to match an entry within the roles_mapping HASH, when updating the data structure.
66 lines
2.1 KiB
Text
66 lines
2.1 KiB
Text
use mysql;
|
|
create role test_role1@host1;
|
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '@host1' at line 1
|
|
create role test_role2@host2, test_role1@host1;
|
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '@host2, test_role1@host1' at line 1
|
|
create role test_role1;
|
|
create role test_role2, test_role3;
|
|
select user, host, is_role from user where user like 'test%';
|
|
user host is_role
|
|
test_role1 Y
|
|
test_role2 Y
|
|
test_role3 Y
|
|
drop role test_role1;
|
|
drop role test_role2, test_role3;
|
|
create role test_role1;
|
|
create role test_role1;
|
|
ERROR HY000: Operation CREATE ROLE failed for 'test_role1'
|
|
create role test_role1, test_role2;
|
|
ERROR HY000: Operation CREATE ROLE failed for 'test_role1'
|
|
select user, host, is_role from user where user like 'test%';
|
|
user host is_role
|
|
test_role1 Y
|
|
test_role2 Y
|
|
drop role test_role1;
|
|
drop role test_role1;
|
|
ERROR HY000: Operation DROP ROLE failed for 'test_role1'
|
|
drop role test_role1, test_role2;
|
|
ERROR HY000: Operation DROP ROLE failed for 'test_role1'
|
|
drop role root;
|
|
ERROR HY000: Operation DROP ROLE failed for 'root'
|
|
create user dummy@'';
|
|
drop role dummy;
|
|
ERROR HY000: Operation DROP ROLE failed for 'dummy'
|
|
drop user dummy@'';
|
|
select user, host, is_role from user where user like 'test%';
|
|
user host is_role
|
|
create role '';
|
|
ERROR OP000: Invalid role specification ``.
|
|
create role r1;
|
|
drop user r1;
|
|
ERROR HY000: Operation DROP USER failed for 'r1'@'%'
|
|
drop role r1;
|
|
create role r1 with admin u1;
|
|
Warnings:
|
|
Note 1449 The user specified as a definer ('u1'@'%') does not exist
|
|
create user foo@bar;
|
|
drop user foo@bar;
|
|
drop role r1;
|
|
CREATE USER u1;
|
|
CREATE ROLE r1;
|
|
CREATE USER r1@localhost;
|
|
CREATE ROLE r2;
|
|
GRANT r2 to r1;
|
|
GRANT r2 to r1@localhost;
|
|
DROP ROLE r1;
|
|
SELECT * FROM mysql.roles_mapping;
|
|
Host User Role Admin_option
|
|
localhost r1 r2 N
|
|
localhost root r2 Y
|
|
SHOW GRANTS FOR r1@localhost;
|
|
Grants for r1@localhost
|
|
GRANT r2 TO 'r1'@'localhost'
|
|
GRANT USAGE ON *.* TO 'r1'@'localhost'
|
|
DROP USER u1;
|
|
DROP ROLE r2;
|
|
DROP USER r1@localhost;
|