1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

MDEV-33554 Upgrade from 11.2 to 11.3 changes root's privileges

let ALL PRIVILEGES to always mean ALL PRIVILEGES over all
upgrades, no matter what new privileges were added in later versions.
This commit is contained in:
Sergei Golubchik
2024-02-29 18:16:06 +01:00
parent ec3d9dafe4
commit 53a359cf0d
8 changed files with 84 additions and 10 deletions

View File

@ -1906,7 +1906,7 @@ SET DEFAULT ROLE aRole;
SHOW GRANTS;
Grants for root@localhost
GRANT `aRole` TO `root`@`localhost` WITH ADMIN OPTION
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, BINLOG MONITOR, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE, DELETE HISTORY, SET USER, FEDERATED ADMIN, CONNECTION ADMIN, READ_ONLY ADMIN, REPLICATION SLAVE ADMIN, REPLICATION MASTER ADMIN, BINLOG ADMIN, BINLOG REPLAY, SLAVE MONITOR ON *.* TO `root`@`localhost` WITH GRANT OPTION
GRANT ALL PRIVILEGES ON *.* TO `root`@`localhost` WITH GRANT OPTION
GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
GRANT USAGE ON *.* TO `aRole`
SET DEFAULT ROLE `aRole` FOR `root`@`localhost`
@ -1914,7 +1914,7 @@ SET DEFAULT ROLE NONE;
SHOW GRANTS;
Grants for root@localhost
GRANT `aRole` TO `root`@`localhost` WITH ADMIN OPTION
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, BINLOG MONITOR, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE, DELETE HISTORY, SET USER, FEDERATED ADMIN, CONNECTION ADMIN, READ_ONLY ADMIN, REPLICATION SLAVE ADMIN, REPLICATION MASTER ADMIN, BINLOG ADMIN, BINLOG REPLAY, SLAVE MONITOR ON *.* TO `root`@`localhost` WITH GRANT OPTION
GRANT ALL PRIVILEGES ON *.* TO `root`@`localhost` WITH GRANT OPTION
GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
GRANT USAGE ON *.* TO `aRole`
DROP ROLE `aRole`;
@ -2135,7 +2135,7 @@ SET GLOBAL alter_algorithm=DEFAULT;
SHOW GLOBAL VARIABLES LIKE 'alter_algorithm';
Variable_name Value
alter_algorithm DEFAULT
End of 10.3 tests
# End of 10.3 tests
# switching from mysql.global_priv to mysql.user
drop view mysql.user_bak;
create user 'user3'@'localhost' identified with mysql_native_password as password('a_password');
@ -2588,3 +2588,29 @@ mysql.user has data
SELECT COUNT(*) > 0 AS `mysql.user has data` FROM mysql.user;
mysql.user has data
1
# End of 10.5 tests
#
# MDEV-33554 Upgrade from 11.2 to 11.3 changes root's privileges
#
alter table mysql.db drop column show_create_routine_priv;
flush privileges;
create user foo@bar;
grant all privileges on mysql.* to foo@bar;
show grants for foo@bar;
Grants for foo@bar
GRANT USAGE ON *.* TO `foo`@`bar`
GRANT ALL PRIVILEGES ON `mysql`.* TO `foo`@`bar`
flush privileges;
show grants for foo@bar;
Grants for foo@bar
GRANT USAGE ON *.* TO `foo`@`bar`
GRANT ALL PRIVILEGES ON `mysql`.* TO `foo`@`bar`
select show_create_routine_priv from mysql.db where user='foo';
show_create_routine_priv
Y
show grants for foo@bar;
Grants for foo@bar
GRANT USAGE ON *.* TO `foo`@`bar`
GRANT ALL PRIVILEGES ON `mysql`.* TO `foo`@`bar`
drop user foo@bar;
# End of 11.3 tests