mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
0724f98e67
SHOW DATABASES CREATE TEMPORARY TABLE LOCK TABLES REPLICATION SLAVE & REPLICATION CLIENT SUPER EXECUTE All scripts & documentation is updated for this change. Added better error messages for global privileges BitKeeper/deleted/.del-mysql_new_fix_privilege_tables.sh~b1664b401375eece: Delete: scripts/mysql_new_fix_privilege_tables.sh Docs/manual.texi: Updated manual for privilege changes. include/mysqld_error.h: new error messages mysql-test/install_test_db.sh: Updated to use new privileges mysql-test/r/grant_cache.result: Updated to use new privileges mysql-test/r/rpl000017.result: Updated to use new privileges mysql-test/t/rpl000017.test: Updated to use new privileges mysys/safemalloc.c: Cleanup scripts/mysql_fix_privilege_tables.sh: Updated to use new privileges scripts/mysql_install_db.sh: Updated to use new privileges sql/field.h: Cleanup sql/item_strfunc.cc: Updated to use new privileges sql/lex.h: Updated to use new privileges sql/log.cc: Updated to use new privileges sql/mysql_priv.h: Updated to use new privileges sql/mysqld.cc: Updated to use new privileges sql/repl_failsafe.cc: Updated to use new privileges sql/share/czech/errmsg.txt: new error messages sql/share/danish/errmsg.txt: new error messages sql/share/dutch/errmsg.txt: new error messages sql/share/english/errmsg.txt: new error messages sql/share/estonian/errmsg.txt: new error messages sql/share/french/errmsg.txt: new error messages sql/share/german/errmsg.txt: new error messages sql/share/greek/errmsg.txt: new error messages sql/share/hungarian/errmsg.txt: new error messages sql/share/italian/errmsg.txt: new error messages sql/share/japanese/errmsg.txt: new error messages sql/share/korean/errmsg.txt: new error messages sql/share/norwegian-ny/errmsg.txt: new error messages sql/share/norwegian/errmsg.txt: new error messages sql/share/polish/errmsg.txt: new error messages sql/share/portuguese/errmsg.txt: new error messages sql/share/romanian/errmsg.txt: new error messages sql/share/russian/errmsg.txt: new error messages sql/share/slovak/errmsg.txt: new error messages sql/share/spanish/errmsg.txt: new error messages sql/share/swedish/errmsg.txt: new error messages sql/share/ukrainian/errmsg.txt: new error messages sql/slave.cc: Portability cleanup sql/sql_acl.cc: Updated to use new privileges sql/sql_acl.h: Updated to use new privileges sql/sql_base.cc: Remove not used include file sql/sql_class.cc: Comment cleanup sql/sql_class.h: Updated to use new privileges Comment cleanups sql/sql_insert.cc: Updated to use new privileges sql/sql_lex.h: Indentation cleanup sql/sql_parse.cc: Updated to use new privileges sql/sql_repl.cc: Updated to use new privileges Comment cleanup sql/sql_show.cc: Updated to use new privileges sql/sql_yacc.yy: Updated to use new privileges Sorted some tockens for easer merge to 4.1 in the future. sql/table.h: Updated to use new privileges tests/grant.pl: Updated to use new privileges tests/grant.res: Updated to use new privileges
153 lines
3.3 KiB
Text
153 lines
3.3 KiB
Text
drop table if exists test.t1,mysqltest.t1,mysqltest.t2;
|
|
reset query cache;
|
|
flush status;
|
|
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
|
|
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
|
|
grant SELECT on mysqltest.* to mysqltest_1@localhost;
|
|
grant SELECT on mysqltest.t1 to mysqltest_2@localhost;
|
|
grant SELECT on test.t1 to mysqltest_2@localhost;
|
|
grant SELECT(a) on mysqltest.t1 to mysqltest_3@localhost;
|
|
select "user1";
|
|
user1
|
|
user1
|
|
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
|
|
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
|
|
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;
|
|
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 3
|
|
select "user3";
|
|
user3
|
|
user3
|
|
select * from t1;
|
|
select command denied to user: 'mysqltest_3@localhost' for column 'b' in table 't1'
|
|
select a from t1;
|
|
a
|
|
1
|
|
2
|
|
select c from t1;
|
|
SELECT command denied to user: 'mysqltest_3@localhost' for column 'c' in table 't1'
|
|
select * from t2;
|
|
select command denied to user: 'mysqltest_3@localhost' for table 't2'
|
|
select mysqltest.t1.c from test.t1,mysqltest.t1;
|
|
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 8
|
|
select "user4";
|
|
user4
|
|
user4
|
|
select a from t1;
|
|
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 9
|
|
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;
|