MYSQL / Mariadb 撤销会话变量的'SET'特权



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

来自MySQL文档:

"设置会话运行时值通常不需要特殊权限,任何用户都可以进行设置以影响当前会话">

谢谢。

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

但是,如果你到目前为止还不能信任你的开发人员,那么你就有麻烦了,因为他们也可能在许多其他方面造成危害。

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

参考:系统可变权限

我不知道MariaDB是否有任何解决方案,因为我不使用MariaDB。

最新更新