当前位置: 首页 > 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.jsqmd.com/news/613723/

相关文章:

  • OpenClaw新手入门实战:用10分钟完成第一个自动化工作任务
  • Unity 调试踩坑记:终于找到一款好用的在线日志工具
  • DVWA--SQL注入漏洞分析(原理及知识拓展)
  • 2026年健身器材厂家推荐:小区健身器材/室外健身器材/公园健身路径专业供应 - 品牌推荐官
  • 【PHP大文件处理避坑红宝书】:基于17个真实生产事故总结的8条黄金铁律
  • 小店十年记:那些让我和客户处成“老熟人”的日子
  • 02-DSP28377D基于SYSCFG的SCI串口中断发送与FIFO深度应用
  • MCP 与评估体系:如何评估“受控智能”?
  • 山东云弈创峰|计算机技术在跨境电商的应用
  • QQ空间历史数据备份工具:从数据丢失焦虑到记忆永久保存的完整方案
  • 2026年全国软文发稿平台TOP10综合实力榜单 - 博客湾
  • 5个步骤掌握科学计算数据处理:从原理到实践
  • FlicFlac:开源音频转换工具从原理到实践
  • RECE第一次作业
  • 字节3-1博士年薪200万!大模型人才争夺白热化,2025大厂格局如何?
  • 紧急!Spring Boot 3.3+ Loom默认启用倒计时:3个月内不兼容阻塞IO的模块将自动降级
  • 2026贵阳工程门窗配套公司,发布推荐5家源头工厂直营名单 - 精选优质企业推荐榜
  • FlowState Lab 生成合成数据与真实数据的混淆度测试
  • 为什么92%的PHP团队异步化失败?——高并发场景下I/O等待、内存泄漏与协程调度三大暗礁全曝光
  • OpCore Simplify:10分钟完成黑苹果EFI配置的终极图形化工具
  • DeepSpeed 学习指南
  • 如何理解 Rust 没有运行时(No Runtime)
  • 万字拆解 LLM 运行机制:Token、上下文与采样参数辞
  • stock-sdk-mcp 的实践整理岸
  • 终极鼠标抖动工具:MouseJiggler完整指南,轻松防止电脑休眠锁屏
  • 2026贵阳工程门窗配套发布5家源头工厂直营公司 - 精选优质企业推荐榜
  • 2026年井式炉/网带炉行业品牌解析:技术实力与市场口碑对比 - 品牌推荐大师1
  • 跨设备进度同步:多设备追番中断的智能解决方案——Kazumi无缝续播体验
  • LeetCode 删除无效的括号:python 题解倒
  • strlen函数