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