mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
d851dd619f
mysql_upgrade used to convert all columns of mysql.db to utf8_general_ci and then back to utf8_bin. In two separate ALTER's. This failed if UNIQUE indexes in mysql.db contained entries that differ only in the letter case.
106 lines
3.7 KiB
Text
106 lines
3.7 KiB
Text
create database d1;
|
|
grant all on d1.* to 'sample'@'localhost' identified by 'password';
|
|
flush privileges;
|
|
select database();
|
|
database()
|
|
d1
|
|
create database d2;
|
|
ERROR 42000: Access denied for user 'sample'@'localhost' to database 'd2'
|
|
create database D1;
|
|
ERROR 42000: Access denied for user 'sample'@'localhost' to database 'D1'
|
|
drop user 'sample'@'localhost';
|
|
drop database if exists d1;
|
|
CREATE DATABASE d1;
|
|
USE d1;
|
|
CREATE TABLE T1(f1 INT);
|
|
CREATE TABLE t1(f1 INT);
|
|
GRANT SELECT ON T1 to user_1@localhost;
|
|
select * from t1;
|
|
ERROR 42000: SELECT command denied to user 'user_1'@'localhost' for table 't1'
|
|
select * from T1;
|
|
f1
|
|
GRANT SELECT ON t1 to user_1@localhost;
|
|
select * from information_schema.table_privileges;
|
|
GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
|
|
'user_1'@'localhost' def d1 T1 SELECT NO
|
|
'user_1'@'localhost' def d1 t1 SELECT NO
|
|
REVOKE ALL PRIVILEGES, GRANT OPTION FROM user_1@localhost;
|
|
DROP USER user_1@localhost;
|
|
DROP DATABASE d1;
|
|
USE test;
|
|
CREATE DATABASE db1;
|
|
USE db1;
|
|
CREATE PROCEDURE p1() BEGIN END;
|
|
CREATE FUNCTION f1(i INT) RETURNS INT RETURN i+1;
|
|
GRANT USAGE ON db1.* to user_1@localhost;
|
|
GRANT EXECUTE ON PROCEDURE db1.P1 to user_1@localhost;
|
|
GRANT EXECUTE ON FUNCTION db1.f1 to user_1@localhost;
|
|
GRANT UPDATE ON db1.* to USER_1@localhost;
|
|
call p1();
|
|
call P1();
|
|
select f1(1);
|
|
f1(1)
|
|
2
|
|
call p1();
|
|
ERROR 42000: execute command denied to user 'USER_1'@'localhost' for routine 'db1.p1'
|
|
call P1();
|
|
ERROR 42000: execute command denied to user 'USER_1'@'localhost' for routine 'db1.p1'
|
|
select f1(1);
|
|
ERROR 42000: execute command denied to user 'USER_1'@'localhost' for routine 'db1.f1'
|
|
REVOKE ALL PRIVILEGES, GRANT OPTION FROM user_1@localhost;
|
|
REVOKE ALL PRIVILEGES, GRANT OPTION FROM USER_1@localhost;
|
|
DROP FUNCTION f1;
|
|
DROP PROCEDURE p1;
|
|
DROP USER user_1@localhost;
|
|
DROP USER USER_1@localhost;
|
|
DROP DATABASE db1;
|
|
use test;
|
|
#
|
|
# Extra test coverage for Bug#56595 RENAME TABLE causes assert on OS X
|
|
#
|
|
CREATE TABLE t1(a INT);
|
|
CREATE TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW SET new.a= 1;
|
|
RENAME TABLE t1 TO T1;
|
|
ALTER TABLE T1 RENAME t1;
|
|
DROP TABLE t1;
|
|
create database TEST;
|
|
create procedure TEST.pr() begin end;
|
|
create procedure test.pr() begin end;
|
|
Phase 1/4: Fixing views
|
|
Phase 2/4: Fixing table and database names
|
|
Phase 3/4: Checking and upgrading tables
|
|
Processing databases
|
|
information_schema
|
|
TEST
|
|
mtr
|
|
mtr.global_suppressions OK
|
|
mtr.test_suppressions OK
|
|
mysql
|
|
mysql.columns_priv OK
|
|
mysql.db OK
|
|
mysql.event OK
|
|
mysql.func OK
|
|
mysql.help_category OK
|
|
mysql.help_keyword OK
|
|
mysql.help_relation OK
|
|
mysql.help_topic OK
|
|
mysql.host OK
|
|
mysql.ndb_binlog_index OK
|
|
mysql.plugin OK
|
|
mysql.proc OK
|
|
mysql.procs_priv OK
|
|
mysql.proxies_priv OK
|
|
mysql.servers OK
|
|
mysql.tables_priv OK
|
|
mysql.time_zone OK
|
|
mysql.time_zone_leap_second OK
|
|
mysql.time_zone_name OK
|
|
mysql.time_zone_transition OK
|
|
mysql.time_zone_transition_type OK
|
|
mysql.user OK
|
|
performance_schema
|
|
test
|
|
Phase 4/4: Running 'mysql_fix_privilege_tables'
|
|
OK
|
|
drop procedure test.pr;
|
|
drop database TEST;
|