Loading mysql-test/r/grant.result +19 −18 Original line number Diff line number Diff line Loading @@ -624,6 +624,25 @@ GRANT USAGE ON *.* TO 'mysqltest_7'@'' IDENTIFIED BY PASSWORD '*2FB071A056F9BB74 drop user mysqltest_7@; show grants for mysqltest_7@; ERROR 42000: There is no such grant defined for user 'mysqltest_7' on host '' create database mysqltest; use mysqltest; create table t1(f1 int); GRANT DELETE ON mysqltest.t1 TO mysqltest1@'%'; GRANT SELECT ON mysqltest.t1 TO mysqltest1@'192.%'; show grants for mysqltest1@'192.%'; Grants for mysqltest1@192.% GRANT USAGE ON *.* TO 'mysqltest1'@'192.%' GRANT SELECT ON `mysqltest`.`t1` TO 'mysqltest1'@'192.%' show grants for mysqltest1@'%'; Grants for mysqltest1@% GRANT USAGE ON *.* TO 'mysqltest1'@'%' GRANT DELETE ON `mysqltest`.`t1` TO 'mysqltest1'@'%' delete from mysql.user where user='mysqltest1'; delete from mysql.db where user='mysqltest1'; delete from mysql.tables_priv where user='mysqltest1'; flush privileges; drop database mysqltest; use test; create table t1 (a int); create table t2 as select * from mysql.user where user=''; delete from mysql.user where user=''; Loading Loading @@ -834,21 +853,3 @@ insert into mysql.user select * from t2; flush privileges; drop table t2; drop table t1; create database mysqltest; use mysqltest; create table t1(f1 int); GRANT DELETE ON mysqltest.t1 TO mysqltest1@'%'; GRANT SELECT ON mysqltest.t1 TO mysqltest1@'192.%'; show grants for mysqltest1@'192.%'; Grants for mysqltest1@192.% GRANT USAGE ON *.* TO 'mysqltest1'@'192.%' GRANT SELECT ON `mysqltest`.`t1` TO 'mysqltest1'@'192.%' show grants for mysqltest1@'%'; Grants for mysqltest1@% GRANT USAGE ON *.* TO 'mysqltest1'@'%' GRANT DELETE ON `mysqltest`.`t1` TO 'mysqltest1'@'%' delete from mysql.user where user='mysqltest1'; delete from mysql.db where user='mysqltest1'; delete from mysql.tables_priv where user='mysqltest1'; flush privileges; drop database mysqltest; mysql-test/t/grant.test +1 −1 Original line number Diff line number Diff line Loading @@ -532,7 +532,7 @@ drop database mysqltest; # # Bug #16297 In memory grant tables not flushed when users's hostname is "" # use test; create table t1 (a int); # Backup anonymous users and remove them. (They get in the way of Loading sql/sql_acl.cc +5 −1 Original line number Diff line number Diff line Loading @@ -2273,7 +2273,8 @@ static GRANT_NAME *name_hash_search(HASH *name_hash, { if (exact) { if ((host && if (!grant_name->host.hostname || (host && !my_strcasecmp(system_charset_info, host, grant_name->host.hostname)) || (ip && !strcmp(ip, grant_name->host.hostname))) Loading Loading @@ -4956,6 +4957,9 @@ static int handle_grant_struct(uint struct_no, bool drop, } if (! user) user= ""; if (! host) host= ""; #ifdef EXTRA_DEBUG DBUG_PRINT("loop",("scan struct: %u index: %u user: '%s' host: '%s'", struct_no, idx, user, host)); Loading Loading
mysql-test/r/grant.result +19 −18 Original line number Diff line number Diff line Loading @@ -624,6 +624,25 @@ GRANT USAGE ON *.* TO 'mysqltest_7'@'' IDENTIFIED BY PASSWORD '*2FB071A056F9BB74 drop user mysqltest_7@; show grants for mysqltest_7@; ERROR 42000: There is no such grant defined for user 'mysqltest_7' on host '' create database mysqltest; use mysqltest; create table t1(f1 int); GRANT DELETE ON mysqltest.t1 TO mysqltest1@'%'; GRANT SELECT ON mysqltest.t1 TO mysqltest1@'192.%'; show grants for mysqltest1@'192.%'; Grants for mysqltest1@192.% GRANT USAGE ON *.* TO 'mysqltest1'@'192.%' GRANT SELECT ON `mysqltest`.`t1` TO 'mysqltest1'@'192.%' show grants for mysqltest1@'%'; Grants for mysqltest1@% GRANT USAGE ON *.* TO 'mysqltest1'@'%' GRANT DELETE ON `mysqltest`.`t1` TO 'mysqltest1'@'%' delete from mysql.user where user='mysqltest1'; delete from mysql.db where user='mysqltest1'; delete from mysql.tables_priv where user='mysqltest1'; flush privileges; drop database mysqltest; use test; create table t1 (a int); create table t2 as select * from mysql.user where user=''; delete from mysql.user where user=''; Loading Loading @@ -834,21 +853,3 @@ insert into mysql.user select * from t2; flush privileges; drop table t2; drop table t1; create database mysqltest; use mysqltest; create table t1(f1 int); GRANT DELETE ON mysqltest.t1 TO mysqltest1@'%'; GRANT SELECT ON mysqltest.t1 TO mysqltest1@'192.%'; show grants for mysqltest1@'192.%'; Grants for mysqltest1@192.% GRANT USAGE ON *.* TO 'mysqltest1'@'192.%' GRANT SELECT ON `mysqltest`.`t1` TO 'mysqltest1'@'192.%' show grants for mysqltest1@'%'; Grants for mysqltest1@% GRANT USAGE ON *.* TO 'mysqltest1'@'%' GRANT DELETE ON `mysqltest`.`t1` TO 'mysqltest1'@'%' delete from mysql.user where user='mysqltest1'; delete from mysql.db where user='mysqltest1'; delete from mysql.tables_priv where user='mysqltest1'; flush privileges; drop database mysqltest;
mysql-test/t/grant.test +1 −1 Original line number Diff line number Diff line Loading @@ -532,7 +532,7 @@ drop database mysqltest; # # Bug #16297 In memory grant tables not flushed when users's hostname is "" # use test; create table t1 (a int); # Backup anonymous users and remove them. (They get in the way of Loading
sql/sql_acl.cc +5 −1 Original line number Diff line number Diff line Loading @@ -2273,7 +2273,8 @@ static GRANT_NAME *name_hash_search(HASH *name_hash, { if (exact) { if ((host && if (!grant_name->host.hostname || (host && !my_strcasecmp(system_charset_info, host, grant_name->host.hostname)) || (ip && !strcmp(ip, grant_name->host.hostname))) Loading Loading @@ -4956,6 +4957,9 @@ static int handle_grant_struct(uint struct_no, bool drop, } if (! user) user= ""; if (! host) host= ""; #ifdef EXTRA_DEBUG DBUG_PRINT("loop",("scan struct: %u index: %u user: '%s' host: '%s'", struct_no, idx, user, host)); Loading