diff options
Diffstat (limited to 'mysql-test/suite/sys_vars/t/extra_max_connections_grant.test')
-rw-r--r-- | mysql-test/suite/sys_vars/t/extra_max_connections_grant.test | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/mysql-test/suite/sys_vars/t/extra_max_connections_grant.test b/mysql-test/suite/sys_vars/t/extra_max_connections_grant.test new file mode 100644 index 00000000000..058364ec0a8 --- /dev/null +++ b/mysql-test/suite/sys_vars/t/extra_max_connections_grant.test @@ -0,0 +1,56 @@ +--source include/not_embedded.inc + +SET @global=@@global.extra_max_connections; + +--echo # +--echo # MDEV-21961 Bind CONNECTION ADMIN to a number of global system variables +--echo # + +--echo # Test that "SET extra_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 extra_max_connections=10; +--error ER_GLOBAL_VARIABLE +SET extra_max_connections=10; +--error ER_GLOBAL_VARIABLE +SET SESSION extra_max_connections=10; +--disconnect user1 +--connection default +DROP USER user1@localhost; + +--echo # Test that "SET extra_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 extra_max_connections=10; +--error ER_GLOBAL_VARIABLE +SET extra_max_connections=10; +--error ER_GLOBAL_VARIABLE +SET SESSION extra_max_connections=10; +--disconnect user1 +--connection default +DROP USER user1@localhost; + +--echo # Test that "SET extra_max_connections" is allowed with SUPER + +CREATE USER user1@localhost; +GRANT SUPER ON *.* TO user1@localhost; +--connect(user1,localhost,user1,,) +--connection user1 +SET GLOBAL extra_max_connections=10; +--error ER_GLOBAL_VARIABLE +SET extra_max_connections=10; +--error ER_GLOBAL_VARIABLE +SET SESSION extra_max_connections=10; +--disconnect user1 +--connection default +DROP USER user1@localhost; + +SET @@global.extra_max_connections=@global; |