mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
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.
This commit is contained in:
43
mysql-test/suite/rpl/r/grant_replication_slave.result
Normal file
43
mysql-test/suite/rpl/r/grant_replication_slave.result
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
#
|
||||||
|
# MDEV-21743 Split up SUPER privilege to smaller privileges
|
||||||
|
#
|
||||||
|
create user rpl@localhost;
|
||||||
|
grant replication slave on *.* to rpl@localhost;
|
||||||
|
include/master-slave.inc
|
||||||
|
[connection master]
|
||||||
|
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;
|
||||||
|
a
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
flush tables;
|
||||||
|
create user foo@localhost;
|
||||||
|
grant select on *.* to foo@localhost;
|
||||||
|
connection slave;
|
||||||
|
start slave;
|
||||||
|
connection master;
|
||||||
|
connection slave;
|
||||||
|
select * from mysqltest1.t1;
|
||||||
|
a
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
show grants for foo@localhost;
|
||||||
|
Grants for foo@localhost
|
||||||
|
GRANT SELECT ON *.* TO `foo`@`localhost`
|
||||||
|
connection master;
|
||||||
|
drop user foo@localhost;
|
||||||
|
drop database mysqltest1;
|
||||||
|
connection slave;
|
||||||
|
stop slave;
|
||||||
|
change master to master_user='root';
|
||||||
|
start slave;
|
||||||
|
include/rpl_end.inc
|
||||||
|
drop user rpl@localhost;
|
39
mysql-test/suite/rpl/t/grant_replication_slave.test
Normal file
39
mysql-test/suite/rpl/t/grant_replication_slave.test
Normal file
@@ -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;
|
Reference in New Issue
Block a user