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

56 lines
1.5 KiB
Text

--source include/not_embedded.inc
SET @global=@@global.connect_timeout;
--echo #
--echo # MDEV-21961 Bind CONNECTION ADMIN to a number of global system variables
--echo #
--echo # Test that "SET connect_timeout" 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 connect_timeout=10;
--error ER_GLOBAL_VARIABLE
SET connect_timeout=10;
--error ER_GLOBAL_VARIABLE
SET SESSION connect_timeout=10;
--disconnect user1
--connection default
DROP USER user1@localhost;
--echo # Test that "SET connect_timeout" is allowed with CONNECTION ADMIN
CREATE USER user1@localhost;
GRANT CONNECTION ADMIN ON *.* TO user1@localhost;
--connect(user1,localhost,user1,,)
--connection user1
SET GLOBAL connect_timeout=10;
--error ER_GLOBAL_VARIABLE
SET connect_timeout=10;
--error ER_GLOBAL_VARIABLE
SET SESSION connect_timeout=10;
--disconnect user1
--connection default
DROP USER user1@localhost;
--echo # Test that "SET connect_timeout" is allowed with SUPER
CREATE USER user1@localhost;
GRANT SUPER ON *.* TO user1@localhost;
--connect(user1,localhost,user1,,)
--connection user1
SET GLOBAL connect_timeout=10;
--error ER_GLOBAL_VARIABLE
SET connect_timeout=10;
--error ER_GLOBAL_VARIABLE
SET SESSION connect_timeout=10;
--disconnect user1
--connection default
DROP USER user1@localhost;
SET @@global.connect_timeout=@global;