mirror of
https://github.com/MariaDB/server.git
synced 2025-11-12 10:22:39 +03:00
BitKeeper/etc/ignore: auto-union BitKeeper/etc/logging_ok: auto-union BitKeeper/deleted/.del-database.c~af098622e818ce0d: Auto merged BitKeeper/deleted/.del-have_openssl_2.inc~8c9f1a45676b698f: Auto merged BitKeeper/deleted/.del-have_openssl_2.require~53bbdfc136fb514: Auto merged BitKeeper/deleted/.del-mini_client.cc~8677895ec8169183: Auto merged BitKeeper/deleted/.del-openssl_2.test~f2dfa927f19d14f8: Auto merged Build-tools/Bootstrap: Auto merged Build-tools/Do-compile: Auto merged SSL/cacert.pem: Auto merged acconfig.h: Auto merged acinclude.m4: Auto merged configure.in: Auto merged SSL/client-cert.pem: Auto merged SSL/client-key.pem: Auto merged SSL/server-cert.pem: Auto merged SSL/server-key.pem: Auto merged VC++Files/client/mysql.dsp: Auto merged VC++Files/client/mysqladmin.dsp: Auto merged VC++Files/client/mysqlclient.dsp: Auto merged VC++Files/client/mysqldump.dsp: Auto merged VC++Files/client/mysqlimport.dsp: Auto merged VC++Files/client/mysqlshow.dsp: Auto merged VC++Files/comp_err/comp_err.dsp: Auto merged VC++Files/innobase/innobase.dsp: Auto merged VC++Files/isamchk/isamchk.dsp: Auto merged VC++Files/libmysql/libmysql.dsp: Auto merged VC++Files/libmysqltest/myTest.dsp: Auto merged VC++Files/my_print_defaults/my_print_defaults.dsp: Auto merged VC++Files/myisamlog/myisamlog.dsp: Auto merged VC++Files/mysql.dsw: Auto merged VC++Files/mysqlbinlog/mysqlbinlog.dsp: Auto merged VC++Files/mysqlcheck/mysqlcheck.dsp: Auto merged VC++Files/mysqlmanager/MySqlManager.dsp: Auto merged VC++Files/mysqlserver/mysqlserver.dsp: Auto merged VC++Files/mysqlshutdown/mysqlshutdown.dsp: Auto merged VC++Files/mysys/mysys.dsp: Auto merged VC++Files/pack_isam/pack_isam.dsp: Auto merged VC++Files/perror/perror.dsp: Auto merged VC++Files/replace/replace.dsp: Auto merged VC++Files/test1/test1.dsp: Auto merged VC++Files/thr_test/thr_test.dsp: Auto merged VC++Files/vio/vio.dsp: Auto merged VC++Files/zlib/zlib.dsp: Auto merged client/mysqlbinlog.cc: Auto merged client/mysqldump.c: Auto merged client/mysqlimport.c: Auto merged extra/my_print_defaults.c: Auto merged extra/resolveip.c: Auto merged include/m_string.h: Auto merged include/my_sys.h: Auto merged include/mysql_com.h: Auto merged innobase/dict/dict0dict.c: Auto merged innobase/os/os0file.c: Auto merged isam/_search.c: Auto merged libmysql/Makefile.am: Auto merged libmysql/errmsg.c: Auto merged libmysql/libmysql.c: Auto merged myisam/mi_check.c: Auto merged myisam/mi_create.c: Auto merged myisam/mi_open.c: Auto merged myisam/mi_search.c: Auto merged myisam/mi_write.c: Auto merged myisam/myisamchk.c: Auto merged myisam/myisamlog.c: Auto merged mysql-test/mysql-test-run.sh: Auto merged mysql-test/r/group_by.result: Auto merged mysql-test/r/isam.result: Auto merged mysql-test/r/loaddata.result: Auto merged mysql-test/r/lowercase_table.result: Auto merged mysql-test/r/multi_update.result: Auto merged mysql-test/r/openssl_1.result: Auto merged mysql-test/r/packet.result: Auto merged mysql-test/r/query_cache.result: Auto merged mysql-test/r/range.result: Auto merged mysql-test/r/select_safe.result: Auto merged mysql-test/r/show_check.result: Auto merged mysql-test/t/grant.test: Auto merged mysql-test/t/group_by.test: Auto merged mysql-test/t/lock_tables_lost_commit-master.opt: Auto merged mysql-test/t/lowercase_table.test: Auto merged mysql-test/t/multi_update.test: Auto merged mysql-test/t/openssl_1.test: Auto merged mysql-test/t/range.test: Auto merged mysql-test/t/rpl_loaddata.test: Auto merged mysql-test/t/rpl_log.test: Auto merged mysql-test/t/select_safe.test: Auto merged mysql-test/t/show_check.test: Auto merged mysql-test/t/symlink.test: Auto merged mysys/default.c: Auto merged mysys/my_getopt.c: Auto merged mysys/my_pthread.c: Auto merged scripts/make_binary_distribution.sh: Auto merged scripts/make_win_src_distribution.sh: Auto merged scripts/mysql_install_db.sh: Auto merged scripts/mysqld_safe.sh: Auto merged sql/ha_innodb.cc: Auto merged sql/ha_myisam.cc: Auto merged sql/handler.cc: Auto merged sql/item_uniq.h: Auto merged sql/log_event.h: Auto merged sql/net_serv.cc: Auto merged sql/repl_failsafe.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_load.cc: Auto merged sql/sql_repl.cc: Auto merged sql/sql_update.cc: Auto merged vio/Makefile.am: Auto merged vio/vio.c: Auto merged mysql-test/t/myisam.test: merge with 4.0.15 Extra tests mysys/mf_keycache.c: Keep local file
128 lines
4.8 KiB
Plaintext
128 lines
4.8 KiB
Plaintext
# Test of GRANT commands
|
|
|
|
# Cleanup
|
|
--disable_warnings
|
|
drop table if exists t1;
|
|
--enable_warnings
|
|
|
|
#
|
|
# Test that SSL options works properly
|
|
#
|
|
|
|
delete from mysql.user where user='mysqltest_1';
|
|
delete from mysql.db where user='mysqltest_1';
|
|
flush privileges;
|
|
grant select on mysqltest.* to mysqltest_1@localhost require cipher "EDH-RSA-DES-CBC3-SHA";
|
|
show grants for mysqltest_1@localhost;
|
|
grant delete on mysqltest.* to mysqltest_1@localhost;
|
|
select * from mysql.user where user="mysqltest_1";
|
|
show grants for mysqltest_1@localhost;
|
|
revoke delete on mysqltest.* from mysqltest_1@localhost;
|
|
show grants for mysqltest_1@localhost;
|
|
grant select on mysqltest.* to mysqltest_1@localhost require NONE;
|
|
show grants for mysqltest_1@localhost;
|
|
grant USAGE on mysqltest.* to mysqltest_1@localhost require cipher "EDH-RSA-DES-CBC3-SHA" AND SUBJECT "testsubject" ISSUER "MySQL AB";
|
|
show grants for mysqltest_1@localhost;
|
|
revoke all privileges on mysqltest.* from mysqltest_1@localhost;
|
|
show grants for mysqltest_1@localhost;
|
|
delete from mysql.user where user='mysqltest_1';
|
|
flush privileges;
|
|
|
|
#
|
|
# Test that the new db privileges are stored/retrieved correctly
|
|
#
|
|
|
|
grant CREATE TEMPORARY TABLES, LOCK TABLES on mysqltest.* to mysqltest_1@localhost;
|
|
show grants for mysqltest_1@localhost;
|
|
flush privileges;
|
|
show grants for mysqltest_1@localhost;
|
|
revoke CREATE TEMPORARY TABLES on mysqltest.* from mysqltest_1@localhost;
|
|
show grants for mysqltest_1@localhost;
|
|
grant ALL PRIVILEGES on mysqltest.* to mysqltest_1@localhost with GRANT OPTION;
|
|
flush privileges;
|
|
show grants for mysqltest_1@localhost;
|
|
revoke LOCK TABLES, ALTER on mysqltest.* from mysqltest_1@localhost;
|
|
show grants for mysqltest_1@localhost;
|
|
revoke all privileges on mysqltest.* from mysqltest_1@localhost;
|
|
delete from mysql.user where user='mysqltest_1';
|
|
flush privileges;
|
|
grant usage on test.* to mysqltest_1@localhost with grant option;
|
|
show grants for mysqltest_1@localhost;
|
|
delete from mysql.user where user='mysqltest_1';
|
|
delete from mysql.db where user='mysqltest_1';
|
|
delete from mysql.tables_priv where user='mysqltest_1';
|
|
delete from mysql.columns_priv where user='mysqltest_1';
|
|
flush privileges;
|
|
|
|
#
|
|
# Test what happens when you have same table and colum level grants
|
|
#
|
|
|
|
create table t1 (a int);
|
|
GRANT select,update,insert on t1 to mysqltest_1@localhost;
|
|
GRANT select (a), update (a),insert(a), references(a) on t1 to mysqltest_1@localhost;
|
|
show grants for mysqltest_1@localhost;
|
|
select table_priv,column_priv from mysql.tables_priv where user="mysqltest_1";
|
|
REVOKE select (a), update on t1 from mysqltest_1@localhost;
|
|
show grants for mysqltest_1@localhost;
|
|
REVOKE insert,insert (a) on t1 from mysqltest_1@localhost;
|
|
GRANT references on t1 to mysqltest_1@localhost;
|
|
show grants for mysqltest_1@localhost;
|
|
select table_priv,column_priv from mysql.tables_priv where user="mysqltest_1";
|
|
grant all on test.* to user1@localhost with grant option;
|
|
revoke all on test.* from user1@localhost;
|
|
show grants for user1@localhost;
|
|
revoke grant option on test.* from user1@localhost;
|
|
show grants for user1@localhost;
|
|
grant all on test.t1 to user2@localhost with grant option;
|
|
revoke all on test.t1 from user2@localhost;
|
|
show grants for user2@localhost;
|
|
revoke grant option on test.t1 from user2@localhost;
|
|
show grants for user2@localhost;
|
|
delete from mysql.user where user='mysqltest_1';
|
|
delete from mysql.db where user='mysqltest_1';
|
|
delete from mysql.tables_priv where user='mysqltest_1';
|
|
delete from mysql.columns_priv where user='mysqltest_1';
|
|
flush privileges;
|
|
drop table t1;
|
|
|
|
#
|
|
# Test some error conditions
|
|
#
|
|
--error 1221
|
|
GRANT FILE on mysqltest.* to mysqltest_1@localhost;
|
|
select 1; -- To test that the previous command didn't cause problems
|
|
|
|
#
|
|
# Test for 'drop user', 'revoke privileges, grant'
|
|
#
|
|
|
|
create table t1 (a int);
|
|
grant ALL PRIVILEGES on *.* to drop_user2@localhost with GRANT OPTION;
|
|
show grants for drop_user2@localhost;
|
|
revoke all privileges, grant from drop_user2@localhost;
|
|
drop user drop_user2@localhost;
|
|
|
|
grant ALL PRIVILEGES on *.* to drop_user@localhost with GRANT OPTION;
|
|
grant ALL PRIVILEGES on test.* to drop_user@localhost with GRANT OPTION;
|
|
grant select(a) on test.t1 to drop_user@localhost;
|
|
show grants for drop_user@localhost;
|
|
revoke all privileges, grant from drop_user@localhost;
|
|
show grants for drop_user@localhost;
|
|
drop user drop_user@localhost;
|
|
--error 1268
|
|
revoke all privileges, grant from drop_user@localhost;
|
|
|
|
grant select(a) on test.t1 to drop_user1@localhost;
|
|
grant select on test.t1 to drop_user2@localhost;
|
|
grant select on test.* to drop_user3@localhost;
|
|
grant select on *.* to drop_user4@localhost;
|
|
--error 1267
|
|
drop user drop_user1@localhost, drop_user2@localhost, drop_user3@localhost,
|
|
drop_user4@localhost;
|
|
revoke all privileges, grant from drop_user1@localhost, drop_user2@localhost,
|
|
drop_user3@localhost, drop_user4@localhost;
|
|
drop user drop_user1@localhost, drop_user2@localhost, drop_user3@localhost,
|
|
drop_user4@localhost;
|
|
drop table t1;
|