1# 2# MDEV-21966 Bind REPLICATION SLAVE ADMIN to a number of global system variables 3# 4SET @global=@@global.replicate_do_db; 5# Test that "SET replicate_do_db" is not allowed without REPLICATION SLAVE ADMIN or SUPER 6CREATE USER user1@localhost; 7GRANT ALL PRIVILEGES ON *.* TO user1@localhost; 8REVOKE REPLICATION SLAVE ADMIN, SUPER ON *.* FROM user1@localhost; 9connect user1,localhost,user1,,; 10connection user1; 11SET GLOBAL replicate_do_db=''; 12ERROR 42000: Access denied; you need (at least one of) the SUPER, REPLICATION SLAVE ADMIN privilege(s) for this operation 13SET replicate_do_db=''; 14ERROR HY000: Variable 'replicate_do_db' is a GLOBAL variable and should be set with SET GLOBAL 15SET SESSION replicate_do_db=''; 16ERROR HY000: Variable 'replicate_do_db' is a GLOBAL variable and should be set with SET GLOBAL 17disconnect user1; 18connection default; 19DROP USER user1@localhost; 20# Test that "SET replicate_do_db" is allowed with REPLICATION SLAVE ADMIN 21CREATE USER user1@localhost; 22GRANT REPLICATION SLAVE ADMIN ON *.* TO user1@localhost; 23connect user1,localhost,user1,,; 24connection user1; 25SET GLOBAL replicate_do_db=''; 26SET replicate_do_db=''; 27ERROR HY000: Variable 'replicate_do_db' is a GLOBAL variable and should be set with SET GLOBAL 28SET SESSION replicate_do_db=''; 29ERROR HY000: Variable 'replicate_do_db' is a GLOBAL variable and should be set with SET GLOBAL 30disconnect user1; 31connection default; 32DROP USER user1@localhost; 33# Test that "SET replicate_do_db" is allowed with SUPER 34CREATE USER user1@localhost; 35GRANT SUPER ON *.* TO user1@localhost; 36connect user1,localhost,user1,,; 37connection user1; 38SET GLOBAL replicate_do_db=''; 39SET replicate_do_db=''; 40ERROR HY000: Variable 'replicate_do_db' is a GLOBAL variable and should be set with SET GLOBAL 41SET SESSION replicate_do_db=''; 42ERROR HY000: Variable 'replicate_do_db' is a GLOBAL variable and should be set with SET GLOBAL 43disconnect user1; 44connection default; 45DROP USER user1@localhost; 46SET @@global.replicate_do_db=@global; 47