diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-04 18:00:34 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-04 18:00:34 +0000 |
commit | 3f619478f796eddbba6e39502fe941b285dd97b1 (patch) | |
tree | e2c7b5777f728320e5b5542b6213fd3591ba51e2 /mysql-test/main/mysql_upgrade_to_100502.test | |
parent | Initial commit. (diff) | |
download | mariadb-upstream.tar.xz mariadb-upstream.zip |
Adding upstream version 1:10.11.6.upstream/1%10.11.6upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'mysql-test/main/mysql_upgrade_to_100502.test')
-rw-r--r-- | mysql-test/main/mysql_upgrade_to_100502.test | 127 |
1 files changed, 127 insertions, 0 deletions
diff --git a/mysql-test/main/mysql_upgrade_to_100502.test b/mysql-test/main/mysql_upgrade_to_100502.test new file mode 100644 index 00000000..fc47f0c9 --- /dev/null +++ b/mysql-test/main/mysql_upgrade_to_100502.test @@ -0,0 +1,127 @@ +-- source include/mysql_upgrade_preparation.inc +-- source include/have_working_dns.inc +-- source include/have_innodb.inc +-- source include/have_partition.inc +let $MYSQLD_DATADIR= `select @@datadir`; + + +--echo # +--echo # MDEV-22057 REPLICATION MASTER ADMIN is missing in root account after upgrade +--echo # + +--source include/switch_to_mysql_user.inc +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; + +CREATE USER user_super@localhost; +GRANT SUPER ON *.* TO user_super@localhost; +SHOW GRANTS FOR 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; + +--echo # +--echo # MDEV-23610: Slave user can't run "SHOW SLAVE STATUS" anymore after upgrade to 10.5, mysql_upgrade should take of that +--echo # + +--echo # +--echo # Users with privilege SUPER prior to 10.5 should successfully execute +--echo # SHOW SLAVE STATUS command +--echo # +CREATE USER user_replsuper@localhost; +GRANT SUPER ON *.* TO user_replsuper@localhost; +SHOW GRANTS FOR user_replsuper@localhost; + +--echo # +--echo # Users with privilege REPLICATION CLIENT prior to 10.5 should successfully execute +--echo # SHOW SLAVE STATUS command +--echo # +CREATE USER user_replclient@localhost; +GRANT REPLICATION CLIENT ON *.* TO user_replclient@localhost; +SHOW GRANTS FOR user_replclient@localhost; + +--echo # +--echo # Users with privilege REPLICATION SLAVE prior to 10.5 should successfully execute +--echo # SHOW RELAYLOG EVENTS command +--echo # +CREATE USER user_replslave@localhost; +GRANT REPLICATION SLAVE ON *.* TO user_replslave@localhost; +SHOW GRANTS FOR user_replslave@localhost; + +--echo # mysql_upgrade --force --silent 2>&1 +--exec $MYSQL_UPGRADE --force --silent 2>&1 +--remove_file $MYSQLD_DATADIR/mysql_upgrade_info +FLUSH PRIVILEGES; + +--echo # +--echo # Should get ALL PRIVILEGES WITH GRANT OPTION +--echo # +SHOW GRANTS FOR user_all@localhost; + +--echo # +--echo # Should automatically get all new 10.5.2 priveleges that were splitted from SUPER +--echo # +SHOW GRANTS FOR user_super@localhost; + +--echo # +--echo # Should automatically get all new 10.5.2 priveleges that were splitted from SUPER, plus REPLICATION MASTER ADMIN +--echo # +SHOW GRANTS FOR user_super_replslave@localhost; + +--echo # +--echo # MDEV-23610: Slave user can't run "SHOW SLAVE STATUS" anymore after upgrade to 10.5, mysql_upgrade should take of that +--echo # + +--echo # +--echo # Should automatically get BINLOG MONITOR and REPLICA MONITOR +--echo # +SHOW GRANTS FOR user_replclient@localhost; + +--echo # +--echo # Should automatically get REPLICA MONITOR +--echo # +SHOW GRANTS FOR user_replslave@localhost; + +--connect (con1,localhost,user_super_replslave,,"*NO-ONE*") +--connection con1 +--disable_result_log +SHOW SLAVE STATUS; +--enable_result_log +--disconnect con1 + +--connect (con1,localhost,user_replclient,,"*NO-ONE*") +--connection con1 +--disable_result_log +SHOW SLAVE STATUS; +--enable_result_log +--disconnect con1 + +--connect (con1,localhost,user_replslave,,"*NO-ONE*") +--connection con1 +--disable_ps_protocol +--disable_result_log +SHOW RELAYLOG EVENTS; +--enable_result_log +--enable_ps_protocol +--disconnect con1 + +--connection default +SELECT + json_value(Priv, '$.version_id'), + json_value(Priv, '$.access'), + user +FROM + mysql.global_priv +WHERE + host='localhost' +AND + user LIKE 'user_%'; + +DROP TABLE mysql.global_priv; +RENAME TABLE mysql.global_priv_bak TO mysql.global_priv; +FLUSH PRIVILEGES; |