Current Path : /home/usr.opt/mysql57/mysql-test/r/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //home/usr.opt/mysql57/mysql-test/r/grant_cache.result |
drop table if exists test.t1,mysqltest.t1,mysqltest.t2; drop database if exists mysqltest; set GLOBAL query_cache_size=1355776; Warnings: Warning 1287 '@@query_cache_size' is deprecated and will be removed in a future release. reset query cache; Warnings: Warning 1681 'RESET QUERY CACHE' is deprecated and will be removed in a future release. flush status; ----- establish connection root ----- show grants for current_user; Grants for root@localhost GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION show grants; Grants for root@localhost GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION create database if not exists mysqltest; create table mysqltest.t1 (a int,b int,c int); create table mysqltest.t2 (a int,b int,c int); insert into mysqltest.t1 values (1,1,1),(2,2,2); insert into mysqltest.t2 values (3,3,3); create table test.t1 (a char (10)); insert into test.t1 values ("test.t1"); select * from t1; a test.t1 ----- establish connection root2 ----- select * from t1; a b c 1 1 1 2 2 2 select a from t1; a 1 2 select c from t1; c 1 2 select * from t2; a b c 3 3 3 select * from mysqltest.t1,test.t1; a b c a 1 1 1 test.t1 2 2 2 test.t1 show status like "Qcache_queries_in_cache"; Variable_name Value Qcache_queries_in_cache 6 show status like "Qcache_hits%"; Variable_name Value Qcache_hits 0 set @orig_sql_mode= @@sql_mode; set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); Warnings: Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. grant SELECT on mysqltest.* to mysqltest_1@localhost; Warnings: Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. grant SELECT on mysqltest.t1 to mysqltest_2@localhost; Warnings: Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. grant SELECT on test.t1 to mysqltest_2@localhost; grant SELECT(a) on mysqltest.t1 to mysqltest_3@localhost; Warnings: Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. set sql_mode= @orig_sql_mode; Warnings: Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. ----- establish connection user1 (user=mysqltest_1) ----- show grants for current_user(); Grants for mysqltest_1@localhost GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost' GRANT SELECT ON `mysqltest`.* TO 'mysqltest_1'@'localhost' show status like "Qcache_queries_in_cache"; Variable_name Value Qcache_queries_in_cache 6 show status like "Qcache_hits"; Variable_name Value Qcache_hits 0 show status like "Qcache_not_cached"; Variable_name Value Qcache_not_cached 0 select "user1"; user1 user1 show status like "Qcache_queries_in_cache"; Variable_name Value Qcache_queries_in_cache 6 show status like "Qcache_hits"; Variable_name Value Qcache_hits 0 show status like "Qcache_not_cached"; Variable_name Value Qcache_not_cached 1 select * from t1; a b c 1 1 1 2 2 2 show status like "Qcache_queries_in_cache"; Variable_name Value Qcache_queries_in_cache 6 show status like "Qcache_hits"; Variable_name Value Qcache_hits 1 show status like "Qcache_not_cached"; Variable_name Value Qcache_not_cached 1 select a from t1 ; a 1 2 show status like "Qcache_queries_in_cache"; Variable_name Value Qcache_queries_in_cache 6 show status like "Qcache_hits"; Variable_name Value Qcache_hits 2 show status like "Qcache_not_cached"; Variable_name Value Qcache_not_cached 1 select c from t1; c 1 2 show status like "Qcache_queries_in_cache"; Variable_name Value Qcache_queries_in_cache 6 show status like "Qcache_hits"; Variable_name Value Qcache_hits 3 show status like "Qcache_not_cached"; Variable_name Value Qcache_not_cached 1 ----- establish connection unkuser (user=unkuser) ----- show grants for current_user(); Grants for @localhost GRANT USAGE ON *.* TO ''@'localhost' ----- establish connection user2 (user=mysqltest_2) ----- select "user2"; user2 user2 select * from t1; a b c 1 1 1 2 2 2 select a from t1; a 1 2 select c from t1; c 1 2 select * from mysqltest.t1,test.t1; a b c a 1 1 1 test.t1 2 2 2 test.t1 select * from t2; ERROR 42000: SELECT command denied to user 'mysqltest_2'@'localhost' for table 't2' show status like "Qcache_queries_in_cache"; Variable_name Value Qcache_queries_in_cache 6 show status like "Qcache_hits"; Variable_name Value Qcache_hits 7 show status like "Qcache_not_cached"; Variable_name Value Qcache_not_cached 2 ----- establish connection user3 (user=mysqltest_3) ----- select "user3"; user3 user3 select * from t1; ERROR 42000: SELECT command denied to user 'mysqltest_3'@'localhost' for table 't1' select a from t1; a 1 2 select c from t1; ERROR 42000: SELECT command denied to user 'mysqltest_3'@'localhost' for column 'c' in table 't1' select * from t2; ERROR 42000: SELECT command denied to user 'mysqltest_3'@'localhost' for table 't2' select mysqltest.t1.c from test.t1,mysqltest.t1; ERROR 42000: SELECT command denied to user 'mysqltest_3'@'localhost' for column 'c' in table 't1' show status like "Qcache_queries_in_cache"; Variable_name Value Qcache_queries_in_cache 6 show status like "Qcache_hits"; Variable_name Value Qcache_hits 7 show status like "Qcache_not_cached"; Variable_name Value Qcache_not_cached 4 ----- establish connection user4 (user=mysqltest_1) ----- select "user4"; user4 user4 show grants; Grants for mysqltest_1@localhost GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost' GRANT SELECT ON `mysqltest`.* TO 'mysqltest_1'@'localhost' select a from t1; ERROR 3D000: No database selected select * from mysqltest.t1,test.t1; a b c a 1 1 1 test.t1 2 2 2 test.t1 select a from mysqltest.t1; a 1 2 select a from mysqltest.t1; a 1 2 show status like "Qcache_queries_in_cache"; Variable_name Value Qcache_queries_in_cache 8 show status like "Qcache_hits"; Variable_name Value Qcache_hits 8 show status like "Qcache_not_cached"; Variable_name Value Qcache_not_cached 5 ----- close connections ----- ----- switch to connection default ----- set names binary; delete from mysql.user where user in ("mysqltest_1","mysqltest_2","mysqltest_3"); delete from mysql.db where user in ("mysqltest_1","mysqltest_2","mysqltest_3"); delete from mysql.tables_priv where user in ("mysqltest_1","mysqltest_2","mysqltest_3"); delete from mysql.columns_priv where user in ("mysqltest_1","mysqltest_2","mysqltest_3"); flush privileges; drop table test.t1,mysqltest.t1,mysqltest.t2; drop database mysqltest; set GLOBAL query_cache_size=default; Warnings: Warning 1287 '@@query_cache_size' is deprecated and will be removed in a future release.