mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-04 04:46:15 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			46 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
#
 | 
						|
# MDEV-21963 Bind BINLOG ADMIN to a number of global system variables
 | 
						|
#
 | 
						|
SET @global=@@global.sync_binlog;
 | 
						|
# Test that "SET sync_binlog" is not allowed without BINLOG ADMIN or SUPER
 | 
						|
CREATE USER user1@localhost;
 | 
						|
GRANT ALL PRIVILEGES ON *.* TO user1@localhost;
 | 
						|
REVOKE BINLOG ADMIN, SUPER ON *.* FROM user1@localhost;
 | 
						|
connect user1,localhost,user1,,;
 | 
						|
connection user1;
 | 
						|
SET GLOBAL sync_binlog=10;
 | 
						|
ERROR 42000: Access denied; you need (at least one of) the SUPER, BINLOG ADMIN privilege(s) for this operation
 | 
						|
SET sync_binlog=10;
 | 
						|
ERROR HY000: Variable 'sync_binlog' is a GLOBAL variable and should be set with SET GLOBAL
 | 
						|
SET SESSION sync_binlog=10;
 | 
						|
ERROR HY000: Variable 'sync_binlog' is a GLOBAL variable and should be set with SET GLOBAL
 | 
						|
disconnect user1;
 | 
						|
connection default;
 | 
						|
DROP USER user1@localhost;
 | 
						|
# Test that "SET sync_binlog" is allowed with BINLOG ADMIN
 | 
						|
CREATE USER user1@localhost;
 | 
						|
GRANT BINLOG ADMIN ON *.* TO user1@localhost;
 | 
						|
connect user1,localhost,user1,,;
 | 
						|
connection user1;
 | 
						|
SET GLOBAL sync_binlog=10;
 | 
						|
SET sync_binlog=10;
 | 
						|
ERROR HY000: Variable 'sync_binlog' is a GLOBAL variable and should be set with SET GLOBAL
 | 
						|
SET SESSION sync_binlog=10;
 | 
						|
ERROR HY000: Variable 'sync_binlog' is a GLOBAL variable and should be set with SET GLOBAL
 | 
						|
disconnect user1;
 | 
						|
connection default;
 | 
						|
DROP USER user1@localhost;
 | 
						|
# Test that "SET sync_binlog" is allowed with SUPER
 | 
						|
CREATE USER user1@localhost;
 | 
						|
GRANT SUPER ON *.* TO user1@localhost;
 | 
						|
connect user1,localhost,user1,,;
 | 
						|
connection user1;
 | 
						|
SET GLOBAL sync_binlog=10;
 | 
						|
SET sync_binlog=10;
 | 
						|
ERROR HY000: Variable 'sync_binlog' is a GLOBAL variable and should be set with SET GLOBAL
 | 
						|
SET SESSION sync_binlog=10;
 | 
						|
ERROR HY000: Variable 'sync_binlog' is a GLOBAL variable and should be set with SET GLOBAL
 | 
						|
disconnect user1;
 | 
						|
connection default;
 | 
						|
DROP USER user1@localhost;
 | 
						|
SET @@global.sync_binlog=@global;
 |