1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

wild_compare fun: bug in GRANT db_pattern.* ...

This commit is contained in:
unknown
2003-07-22 22:00:51 +02:00
parent 491cdf396f
commit b413e5c420
2 changed files with 61 additions and 0 deletions

View 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
View 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;