mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
wild_compare fun: bug in GRANT db_pattern.* ...
This commit is contained in:
24
mysql-test/r/grant2.result
Normal file
24
mysql-test/r/grant2.result
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
delete from mysql.user where user like 'mysqltest\_%';
|
||||||
|
delete from mysql.db where user like 'mysqltest\_%';
|
||||||
|
flush privileges;
|
||||||
|
grant all privileges on `my\_%`.* to mysqltest_1@localhost with grant option;
|
||||||
|
select current_user();
|
||||||
|
current_user()
|
||||||
|
mysqltest_1@localhost
|
||||||
|
grant all privileges on `my\_1`.* to mysqltest_9@localhost with grant option;
|
||||||
|
ERROR 42000: Access denied for user: 'mysqltest_1@localhost' to database 'my\_1'
|
||||||
|
grant all privileges on `my_%`.* to mysqltest_2@localhost with grant option;
|
||||||
|
select current_user();
|
||||||
|
current_user()
|
||||||
|
mysqltest_2@localhost
|
||||||
|
grant all privileges on `mysql`.* to mysqltest_3@localhost with grant option;
|
||||||
|
select current_user();
|
||||||
|
current_user()
|
||||||
|
mysqltest_3@localhost
|
||||||
|
show grants for mysqltest_3@localhost;
|
||||||
|
Grants for mysqltest_3@localhost
|
||||||
|
GRANT USAGE ON *.* TO 'mysqltest_3'@'localhost'
|
||||||
|
GRANT ALL PRIVILEGES ON `mysql`.* TO 'mysqltest_3'@'localhost' WITH GRANT OPTION
|
||||||
|
delete from mysql.user where user like 'mysqltest\_%';
|
||||||
|
delete from mysql.db where user like 'mysqltest\_%';
|
||||||
|
flush privileges;
|
37
mysql-test/t/grant2.test
Normal file
37
mysql-test/t/grant2.test
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
#
|
||||||
|
# GRANT tests that require several connections
|
||||||
|
# (usually it's GRANT, reconnect as another user, try something)
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# wild_compare fun
|
||||||
|
#
|
||||||
|
|
||||||
|
delete from mysql.user where user like 'mysqltest\_%';
|
||||||
|
delete from mysql.db where user like 'mysqltest\_%';
|
||||||
|
flush privileges;
|
||||||
|
grant all privileges on `my\_%`.* to mysqltest_1@localhost with grant option;
|
||||||
|
connect (user1,localhost,mysqltest_1,,);
|
||||||
|
connection user1;
|
||||||
|
select current_user();
|
||||||
|
--error 1044
|
||||||
|
grant all privileges on `my\_1`.* to mysqltest_9@localhost with grant option;
|
||||||
|
grant all privileges on `my_%`.* to mysqltest_2@localhost with grant option;
|
||||||
|
disconnect user1;
|
||||||
|
connect (user2,localhost,mysqltest_2,,);
|
||||||
|
connection user2;
|
||||||
|
select current_user();
|
||||||
|
grant all privileges on `mysql`.* to mysqltest_3@localhost with grant option;
|
||||||
|
disconnect user2;
|
||||||
|
connect (user3,localhost,mysqltest_3,,);
|
||||||
|
connection user3;
|
||||||
|
select current_user();
|
||||||
|
show grants for mysqltest_3@localhost;
|
||||||
|
disconnect user3;
|
||||||
|
connect (root,localhost,root,,);
|
||||||
|
connection root;
|
||||||
|
delete from mysql.user where user like 'mysqltest\_%';
|
||||||
|
delete from mysql.db where user like 'mysqltest\_%';
|
||||||
|
flush privileges;
|
||||||
|
|
Reference in New Issue
Block a user