# # MDEV-22057 REPLICATION MASTER ADMIN is missing in root account after upgrade # # switching from mysql.global_priv to mysql.user DROP VIEW mysql.user_bak; FLUSH PRIVILEGES; CREATE USER user_all@localhost; GRANT ALL PRIVILEGES ON *.* TO user_all@localhost WITH GRANT OPTION; SHOW GRANTS FOR user_all@localhost; Grants for user_all@localhost GRANT ALL PRIVILEGES ON *.* TO `user_all`@`localhost` WITH GRANT OPTION CREATE USER user_super@localhost; GRANT SUPER ON *.* TO user_super@localhost; SHOW GRANTS FOR user_super@localhost; Grants for user_super@localhost GRANT SUPER, SET USER, FEDERATED ADMIN, CONNECTION ADMIN, READ_ONLY ADMIN, REPLICATION SLAVE ADMIN, BINLOG ADMIN, BINLOG REPLAY ON *.* TO `user_super`@`localhost` CREATE USER user_super_replslave@localhost; GRANT SUPER, REPLICATION SLAVE ON *.* TO user_super_replslave@localhost; SHOW GRANTS FOR user_super_replslave@localhost; Grants for user_super_replslave@localhost GRANT SUPER, REPLICATION SLAVE, SET USER, FEDERATED ADMIN, CONNECTION ADMIN, READ_ONLY ADMIN, REPLICATION SLAVE ADMIN, REPLICATION MASTER ADMIN, BINLOG ADMIN, BINLOG REPLAY ON *.* TO `user_super_replslave`@`localhost` # mysql_upgrade --force --silent 2>&1 FLUSH PRIVILEGES; # # Should get ALL PRIVILEGES WITH GRANT OPTION # SHOW GRANTS FOR user_all@localhost; Grants for user_all@localhost GRANT ALL PRIVILEGES ON *.* TO `user_all`@`localhost` WITH GRANT OPTION # # Should automatically get all new 10.5.2 priveleges that were splitted from SUPER # SHOW GRANTS FOR user_super@localhost; Grants for user_super@localhost GRANT SUPER, SET USER, FEDERATED ADMIN, CONNECTION ADMIN, READ_ONLY ADMIN, REPLICATION SLAVE ADMIN, BINLOG ADMIN, BINLOG REPLAY ON *.* TO `user_super`@`localhost` # # Should automatically get all new 10.5.2 priveleges that were splitted from SUPER, plus REPLICATION MASTER ADMIN # SHOW GRANTS FOR user_super_replslave@localhost; Grants for user_super_replslave@localhost GRANT SUPER, REPLICATION SLAVE, SET USER, FEDERATED ADMIN, CONNECTION ADMIN, READ_ONLY ADMIN, REPLICATION SLAVE ADMIN, REPLICATION MASTER ADMIN, BINLOG ADMIN, BINLOG REPLAY ON *.* TO `user_super_replslave`@`localhost` SELECT json_value(Priv, '$.version_id'), json_value(Priv, '$.access'), user FROM mysql.global_priv WHERE host='localhost' AND user LIKE 'user_%'; json_value(Priv, '$.version_id') json_value(Priv, '$.access') user NULL 1073741823 user_all NULL 32768 user_super NULL 557056 user_super_replslave DROP TABLE mysql.global_priv; RENAME TABLE mysql.global_priv_bak TO mysql.global_priv; FLUSH PRIVILEGES;