mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 03:52:35 +01:00
0253ea7f22
Also fixes: MDEV-21487: Implement option for mysql_upgrade that allows root@localhost to be replaced MDEV-21486: Implement option for mysql_install_db that allows root@localhost to be replaced Add user mariadb.sys to be definer of user view (and has right on underlying table global_priv for required operation over global_priv (SELECT,UPDATE,DELETE)) Also changed definer of gis functions in case of creation, but they work with any definer so upgrade script do not try to push this change.
44 lines
1.6 KiB
Text
44 lines
1.6 KiB
Text
select priv into @root_priv from mysql.global_priv where user='root' and host='localhost';
|
|
grant select on *.* to current_role;
|
|
ERROR 0L000: Invalid definer
|
|
revoke select on *.* from current_role;
|
|
ERROR 0L000: Invalid definer
|
|
revoke all, grant option from current_role;
|
|
ERROR 0L000: Invalid definer
|
|
create role r1;
|
|
grant insert on test.* to r1;
|
|
grant r1 to current_user;
|
|
set role r1;
|
|
select current_role();
|
|
current_role()
|
|
r1
|
|
grant select on *.* to current_role;
|
|
show grants for current_role;
|
|
Grants for r1
|
|
GRANT SELECT ON *.* TO `r1`
|
|
GRANT INSERT ON `test`.* TO `r1`
|
|
revoke insert on test.* from current_role;
|
|
show grants for current_role;
|
|
Grants for r1
|
|
GRANT SELECT ON *.* TO `r1`
|
|
revoke all, grant option from current_role;
|
|
show grants for current_role;
|
|
Grants for r1
|
|
GRANT USAGE ON *.* TO `r1`
|
|
set password=password('foobar');
|
|
show grants;
|
|
Grants for root@localhost
|
|
GRANT `r1` TO `root`@`localhost` WITH ADMIN OPTION
|
|
GRANT ALL PRIVILEGES ON *.* TO `root`@`localhost` IDENTIFIED BY PASSWORD '*9B500343BC52E2911172EB52AE5CF4847604C6E5' WITH GRANT OPTION
|
|
GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
|
|
GRANT USAGE ON *.* TO `r1`
|
|
grant r1 to current_user() identified by 'barfoo';
|
|
show grants;
|
|
Grants for root@localhost
|
|
GRANT `r1` TO `root`@`localhost` WITH ADMIN OPTION
|
|
GRANT ALL PRIVILEGES ON *.* TO `root`@`localhost` IDENTIFIED BY PASSWORD '*343915A8181B5728EADBDC73E1F7E6B0C3998483' WITH GRANT OPTION
|
|
GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
|
|
GRANT USAGE ON *.* TO `r1`
|
|
set password='';
|
|
drop role r1;
|
|
update mysql.global_priv set priv=@root_priv where user='root' and host='localhost';
|