当前位置: 首页 > news >正文

MySQL Workbench中的权限设置不生效

🖼️现象:

这个test账号我只给了两个数据库权限,为什么它连接还是能看到其他数据库。下图是这个账号的设置。

test账号能看到其他数据库,很可能是因为它拥有了某个“全局级别”的权限,比如SHOW DATABASES。只要用户有任意一个全局权限,MySQL 就会允许他查看服务器上所有数据库的名字,这可能会造成一些安全风险。

🔑 为什么一个全局权限会导致看到所有数据库?

在 MySQL 中,权限的授予范围是分层级的。其中,“全局权限”(*.*)是所有权限里最高的一级。根据 MySQL 的官方设计,只要用户拥有了任何一个全局权限,系统在执行SHOW DATABASES命令时,就会向其展示服务器上所有数据库的名称

🕵️‍♂️ 排查问题:test 账号拥有哪些权限?

按照下面的步骤来检查test账号的具体权限,应该就能找到是哪个全局权限导致了问题。

  1. 登录数据库:用root或其他有管理权限的账号登录 MySQL。

    mysql-uroot-p
  2. 查看用户权限:在 MySQL 命令行中,执行以下 SQL 命令:

    SHOW GRANTS FOR'test'@'%';

    请注意:账号由用户名 (test) 和主机名 (%) 共同组成。

  3. 分析返回结果:重点检查输出中是否包含GRANT ... ON \*.\* TO ...这样的语句。这类语句就代表了全局权限。

🔧 解决方案:如何限制用户只能看到授权的数据库?

想解决这个问题,核心思路就是移除用户多余的全局权限。

1. 方案一:移除SHOW DATABASES权限(推荐)

如果你只希望用户看不到其他数据库,但无需回收他的其他权限,可以只撤销SHOW DATABASES权限。在命令行中执行:

REVOKE SHOW DATABASES ON *.* FROM'test'@'%';
2. 方案二:检查并回收不必要的全局权限

你也可以选择移除所有不必要的全局权限,仅保留数据库级别的授权。操作前请先查询并评估,再执行撤销:

--1. 查询当前权限以评估 SHOW GRANTS FOR'test'@'%';--2. 移除不必要的全局权限,例如: REVOKE SELECT ON *.* FROM'test'@'%';
3. 验证结果

执行权限回收后,可以让test重新登录并运行SHOW DATABASES;命令,检查数据库列表是否已符合预期。

💎 核心总结

理解权限层级是关键,MySQL 的这种设计是为了兼顾安全性可用性

  • 安全性优先:默认行为是“最小权限原则”,即用户只能看到自己有权限访问的数据。这有效防止了低权限用户通过SHOW DATABASES来探测服务器上的所有数据库名称,降低了信息泄露的风险。
  • 全局权限的双刃剑:作为最高层级的权限,全局权限能极大地方便管理员操作,但也会产生“看到所有数据库”的副作用。因此,在给普通业务账号授予任何全局权限时,都需格外谨慎。
http://www.cnnetsun.cn/news/1786290.html

相关文章:

  • AI淘金热深度复盘:NVIDIA净利$1201亿 vs OpenAI预亏$140亿,普通人该卖铲子还是挖黄金?(万字数据分析)
  • 3个技巧掌握Arduino步进电机加速度控制:AccelStepper库深度解析
  • Obsidian插件汉化终极指南:5分钟让英文插件变中文的完整解决方案
  • 你的SSH密钥可能已经过期了瘫
  • 3步解锁AI视频分析:从技术原理到实战落地
  • [系统运维] Windows开机卡在欢迎界面?3步定位并恢复系统启动
  • G-Helper性能优化指南:解锁华硕笔记本隐藏性能的轻量级控制工具
  • 10秒看懂Hermes Agent与OpenClaw的区别,你会选哪一个?
  • 为什么要做 GeoPipeAgent拓
  • Spring Boot 3.2+Loom生产就绪 checklist(含线程泄漏检测脚本、监控埋点规范、回滚熔断机制)
  • Spring Authorization Server实战 (一) 构建符合OAuth2.1规范的授权服务器
  • 2026年度权威推荐:哪些降重软件能完美规避AIGC检测?实测TOP5红黑榜
  • AI大模型赋能数据治理:小白也能学会的元数据、血缘与资产治理实战指南(收藏版)
  • 3步实现跨设备协作:Input Leap多设备控制实用指南
  • 【杂谈】-员工技能短板下,企业如何巧妙融入人工智能?
  • 2026年OpenClaw怎么集成?华为云9分钟零门槛部署+大模型APIKey配置、Skill集成教程
  • 推荐系统冷启动问题的几种创新解法
  • “INMS: Memory Sharing for Large Language Model based Agents“ 论文笔记涣
  • 底盘工程师十年踩坑实录(一):CAN通讯意外中断,我是这样一步步定位到代码逻辑Bug的
  • RGB LCD 驱动与 PWM 背光调节技术总结
  • 3个高效步骤打造智能研究助手:基于Gemini与LangGraph的全栈AI应用开发指南
  • 16、defer 和 async 区别
  • 抖音批量下载终极指南:揭秘3步搞定无水印视频采集的实战技巧
  • Linux日常学习4
  • 神经符号AI:软件测试智能化的革命性引擎
  • 【2026毕业党救命帖】亲测AIGC率从59%速降至6%!5款神仙工具+6大手改公式全公开
  • 5分钟掌握AccelStepper:新手也能快速上手的步进电机终极指南
  • 【青少年CTF S1·2026 公益赛】哦
  • 智能车浅谈——控制规律篇
  • 您知道十万级用户到亿级用户系统架构是如何演进的吗?