如何防止数据库用户查询系统变量

How to prevent a DB user from querying System Variables

我正在使用 MySql 5.6。目前通过提供给用户的授权,比如 USER_1,它可以查询系统变量,如@@version、@@hostname 等。

例如

SELECT @@VERSION;
SELECT @@HOSTNAME;

该用户需要什么权限才能查询这些系统变量,更重要的是,我怎样才能撤销这些权限?

查询系统变量不需要任何权限,因此您无法撤销这些权限:

SHOW VARIABLES shows the values of MySQL system variables (see Section 5.1.7, “Server System Variables”). This statement does not require any privilege. It requires only the ability to connect to the server.

这包括在 select 中使用它们,您也不需要特定权限即可执行此操作。您只能通过不让用户 运行 在您的服务器上进行他选择的任意查询来防止这种情况。