mariadb/mysql-test/suite/sys_vars/t/max_connections_grant.test

56 lines
1.5 KiB
Text

--source include/not_embedded.inc
SET @global=@@global.max_connections;
--echo #
--echo # MDEV-21961 Bind CONNECTION ADMIN to a number of global system variables
--echo #
--echo # Test that "SET max_connections" is not allowed without CONNECTION ADMIN or SUPER
CREATE USER user1@localhost;
GRANT ALL PRIVILEGES ON *.* TO user1@localhost;
REVOKE CONNECTION ADMIN, SUPER ON *.* FROM user1@localhost;
--connect(user1,localhost,user1,,)
--connection user1
--error ER_SPECIFIC_ACCESS_DENIED_ERROR
SET GLOBAL max_connections=10;
--error ER_GLOBAL_VARIABLE
SET max_connections=10;
--error ER_GLOBAL_VARIABLE
SET SESSION max_connections=10;
--disconnect user1
--connection default
DROP USER user1@localhost;
--echo # Test that "SET max_connections" is allowed with CONNECTION ADMIN
CREATE USER user1@localhost;
GRANT CONNECTION ADMIN ON *.* TO user1@localhost;
--connect(user1,localhost,user1,,)
--connection user1
SET GLOBAL max_connections=10;
--error ER_GLOBAL_VARIABLE
SET max_connections=10;
--error ER_GLOBAL_VARIABLE
SET SESSION max_connections=10;
--disconnect user1
--connection default
DROP USER user1@localhost;
--echo # Test that "SET max_connections" is allowed with SUPER
CREATE USER user1@localhost;
GRANT SUPER ON *.* TO user1@localhost;
--connect(user1,localhost,user1,,)
--connection user1
SET GLOBAL max_connections=10;
--error ER_GLOBAL_VARIABLE
SET max_connections=10;
--error ER_GLOBAL_VARIABLE
SET SESSION max_connections=10;
--disconnect user1
--connection default
DROP USER user1@localhost;
SET @@global.max_connections=@global;