You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何撤销数据库用户的插件安装/卸载权限?

MySQL插件权限撤销相关问题

问题描述

用于安全审计、识别拥有安装/卸载服务器插件权限用户的查询语句:

SELECT user, host FROM mysql.db WHERE db = 'mysql' and (insert_priv='y') or (delete_priv='y') or (insert_priv='y' and delete_priv='y');

需要撤销上述查询结果中用户的对应权限,有两个疑问:

  • 是否存在特定权限项可用于执行此撤销操作?
  • 是否可以直接更新mysql.db表中的insert_priv和delete_priv字段?

解答

禁止直接修改系统表

直接手动更新mysql.db这类系统表是绝对不推荐的做法,原因有二:

  • MySQL权限系统存在缓存,手动改表后权限不会立即生效;
  • 容易造成权限数据不一致,后续出现权限问题时排查难度极大。

正确的撤销操作方式

安装/卸载服务器插件的权限,本质对应mysql数据库的INSERT和DELETE权限(因为插件元数据存储在mysql.plugin表中),所以要用官方标准的REVOKE命令来处理,步骤如下:

  1. 用审计查询获取目标用户和主机(比如user='test_user'、host='localhost');
  2. 执行撤销命令:
REVOKE INSERT, DELETE ON mysql.* FROM 'test_user'@'localhost';
  1. 刷新权限让变更立即生效:
FLUSH PRIVILEGES;

额外注意事项

  • 执行REVOKE前,可以先运行SHOW GRANTS FOR 'test_user'@'localhost';查看用户的所有权限,避免误撤销必要权限;
  • 你当前的账号必须拥有GRANT OPTION权限,才能执行REVOKE操作。

内容的提问来源于stack exchange,提问作者Phaelax

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 01:45:03