MYSQL / Mariadb REVOKE 'SET' 会话变量的权限

MYSQL / Mariadb REVOKE 'SET' Privilege for session variable

我四处寻找了很多,但没能找到解决这个问题的方法。我希望能够阻止 (REVOKE) MySQL / Mariadb 用户修改他们会话的系统变量。真的没有办法吗?例如,我已将 'max_statement_time' 全局设置为 300s,但任何用户都可以进入并将其更改为 1000s(对于他们的会话)。我想知道这是否可以预防。

来自 MySQL 文档:

"setting session runtime values normally requires no special privileges and can be done by any user to affect the current session."

谢谢。

正确。如果客户端可以连接并执行 SQL 查询,那么他们可以在没有任何特定权限的情况下设置会话变量。

但是,如果到目前为止您还不能信任您的开发人员,那么您就有麻烦了,因为他们还会以许多其他方式造成恶作剧。

MySQL 8.0.14 引入了特权 SESSION_VARIABLES_ADMIN,但这仅适用于某些管理变量,例如 binlog_format。大多数会话变量仍然不需要设置权限。

参考:System Variable Privileges

不知道MariaDB有没有解决办法,因为我没用过MariaDB