summaryrefslogtreecommitdiff
path: root/mysql-test/suite/rpl/t/grant_replication_slave.test
diff options
context:
space:
mode:
authorAlexander Barkov <bar@mariadb.com>2020-03-24 23:12:30 +0400
committerAlexander Barkov <bar@mariadb.com>2020-03-24 23:14:06 +0400
commit30cacf3fce2456edc1d2c8b048060c97c12de1f8 (patch)
tree1ea3780299b3c2957bde95570c33a264e8c2b827 /mysql-test/suite/rpl/t/grant_replication_slave.test
parentd23c3e03ac4f6227df49f7674ca7572102ed8eb1 (diff)
downloadmariadb-git-30cacf3fce2456edc1d2c8b048060c97c12de1f8.tar.gz
An additional test for MDEV-21743 Split up SUPER privilege to smaller privileges
Adding a test to check that having a user with REPLICATION SLAVE privilege is enough to run replication. Made by Serg.
Diffstat (limited to 'mysql-test/suite/rpl/t/grant_replication_slave.test')
-rw-r--r--mysql-test/suite/rpl/t/grant_replication_slave.test39
1 files changed, 39 insertions, 0 deletions
diff --git a/mysql-test/suite/rpl/t/grant_replication_slave.test b/mysql-test/suite/rpl/t/grant_replication_slave.test
new file mode 100644
index 00000000000..c5aca0a60e1
--- /dev/null
+++ b/mysql-test/suite/rpl/t/grant_replication_slave.test
@@ -0,0 +1,39 @@
+--echo #
+--echo # MDEV-21743 Split up SUPER privilege to smaller privileges
+--echo #
+
+# Checking that REPLICATION SLAVE is enough to start replication
+
+create user rpl@localhost;
+grant replication slave on *.* to rpl@localhost;
+
+source include/master-slave.inc;
+connection slave;
+stop slave;
+change master to master_user='rpl';
+connection master;
+
+create database mysqltest1;
+create table mysqltest1.t1 (a int);
+insert mysqltest1.t1 values (1),(2),(3);
+select * from mysqltest1.t1;
+flush tables;
+create user foo@localhost;
+grant select on *.* to foo@localhost;
+
+connection slave;
+start slave;
+connection master;
+sync_slave_with_master;
+select * from mysqltest1.t1;
+show grants for foo@localhost;
+connection master;
+drop user foo@localhost;
+drop database mysqltest1;
+sync_slave_with_master;
+stop slave;
+change master to master_user='root';
+start slave;
+
+source include/rpl_end.inc;
+drop user rpl@localhost;