讲师中心 微信公众号
AI工具推荐 视频效率加速

mysql权限修改后不生效怎么办_mysql刷新权限说明

轻浩姑娘_4281

轻浩姑娘_4281

发布时间:2026-01-17 11:52:02

|

620人浏览过

|

来源于php中文网

原创

绝大多数情况下GRANT后不用FLUSH PRIVILEGES;仅当直接修改mysql系统表时才必须执行,否则多余且可能掩盖真实问题,如连接未重连、主机名不匹配或认证插件不兼容等。

mysql权限修改后不生效怎么办_mysql刷新权限说明

GRANT 之后还用不用 FLUSH PRIVILEGES?

绝大多数情况下——不用。只要你是用 GRANT 或 REVOKE 命令修改权限,MySQL 会自动重载内存中的权限缓存,新连接立刻生效。手动执行 FLUSH PRIVILEGES; 不但多余,还可能掩盖真正的问题。

  • 只有当你绕过授权语法、直接 UPDATE mysql.user 或 INSERT INTO mysql.db 修改系统表时,才必须执行 FLUSH PRIVILEGES;
  • GRANT 后加 FLUSH PRIVILEGES; 不报错,但属于“做了没用的事”,容易让人误以为“不刷就不生效”,从而忽略主机名、连接复用等真实原因
  • 如果你不确定是否用了标准授权语句,可以查一下操作历史:
    SELECT * FROM mysql.general_log WHERE argument LIKE '%GRANT%' OR argument LIKE '%REVOKE%' ORDER BY event_time DESC LIMIT 5;

为什么刚授权的用户还是 “Access denied”?

最常见不是权限没写对,而是连接没“换人”。MySQL 的权限检查发生在连接建立那一刻,已存在的连接不会动态更新权限——哪怕你刚给它加了 ALL PRIVILEGES。

  • 用户当前连接仍持有旧权限,必须断开重连(QUIT; 后重新 mysql -u user -p)
  • 注意 'user'@'localhost' 和 'user'@'127.0.0.1' 是两个完全不同的账号:前者走 Unix socket,后者走 TCP/IP;授权时写错一个字符(比如多空格 'user '@'localhost')就匹配不上
  • 如果用的是 MySQL 8.0+,确认认证插件是否为 caching_sha2_password,某些客户端老版本不兼容,会静默降级失败

改了 mysql.user 表但权限死活不生效

这是唯一真正需要 FLUSH PRIVILEGES; 的场景,但也最容易出错——因为改表本身就有风险。

kashen-mysql DDLtoExcel
kashen-mysql DDLtoExcel

解析 MySQL 8.0 的 DDL 脚本,并将表结构导出为 Excel 格式。适用于用户需将 MySQL 的 `CREATE TABLE` 语句转换为结构化的 Excel 文件场景,导出内容包含字段名、数据类型、长度及精度等信息。支持多张表的批量处理,每张表对应 Excel 中的一个独立工作表。适用于数据库文档编写、数据字典生成及模式分析等任务。

下载
  • 直接 UPDATE mysql.user 后,必须执行 FLUSH PRIVILEGES;,否则内存缓存仍是旧值
  • MySQL 8.0 起密码字段是 authentication_string,不再是 password;误更新错字段会导致账号变“空密码”或认证失败
  • 改完别忘了检查 host 字段是否大小写一致(Linux 系统下 'ROOT'@'localhost' ≠ 'root'@'localhost')
  • 如果用的是 --skip-grant-tables 启动,所有权限校验被跳过,此时 GRANT 语句根本不会写入表,任何刷新都无效

权限改了,但 USE db_name 后还是没权限?

MySQL 对不同粒度权限的生效时机不同,不是所有变更都等下次连接——有些在当前连接里就能“热更新”,但有严格前提。

  • GRANT SELECT ON db1.* TO 'u'@'h'; → 下次执行 USE db1; 才生效(数据库级权限)
  • GRANT SELECT ON db1.t1 TO 'u'@'h'; → 下次对该表发起查询(如 SELECT * FROM t1;)即生效(表级权限)
  • GRANT SELECT ON *.* TO 'u'@'h'; → 必须断开重连(全局权限)
  • 所以测试时别只做一次查询就下结论,先 USE 切库,再查表,再试 DML,才能覆盖全路径

真正卡住人的往往不是命令会不会写,而是“以为改完了,其实连接还挂着旧上下文”,或者“授权给了 % 却从 localhost 连,结果匹配到空用户或匿名用户”。遇到不生效,先 SELECT USER(), CURRENT_USER(); 看看到底是以谁的身份连进来的——这比反复刷权限有用十倍。

热门AI工具

更多
豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

小橡皮AI

一款AI工具,主要用于小橡皮一键去AI味,将机器味重的内容改得更有活人感,防止因为 AI 内容被平台打上 AI 标签,以及限流,适合需要提升相关任务效率的用户。

创客贴AI

创客贴AI是一款AI图像与设计工具,AI辅助的智能在线设计工具。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

相关专题

更多
mysql修改数据表名
mysql修改数据表名

MySQL修改数据表:1、首先查看数据库中所有的表,代码为:‘SHOW TABLES;’;2、修改表名,代码为:‘ALTER TABLE 旧表名 RENAME [TO] 新表名;’。php中文网还提供MySQL的相关下载、相关课程等内容,供大家免费下载使用。

2433

2023.06.20

MySQL创建存储过程
MySQL创建存储过程

存储程序可以分为存储过程和函数,MySQL中创建存储过程和函数使用的语句分别为CREATE PROCEDURE和CREATE FUNCTION。使用CALL语句调用存储过程智能用输出变量返回值。函数可以从语句外调用(通过引用函数名),也能返回标量值。存储过程也可以调用其他存储过程。php中文网还提供MySQL创建存储过程的相关下载、相关课程等内容,供大家免费下载使用。

1479

2023.06.21

mongodb和mysql的区别
mongodb和mysql的区别

mongodb和mysql的区别:1、数据模型;2、查询语言;3、扩展性和性能;4、可靠性。本专题为大家提供mongodb和mysql的区别的相关的文章、下载、课程内容,供大家免费下载体验。

875

2023.07.18

mysql密码忘了怎么查看
mysql密码忘了怎么查看

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql密码忘了怎么办呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

3452

2023.07.19

mysql创建数据库
mysql创建数据库

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql怎么创建数据库呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

5928

2023.07.25

mysql默认事务隔离级别
mysql默认事务隔离级别

MySQL是一种广泛使用的关系型数据库管理系统,它支持事务处理。事务是一组数据库操作,它们作为一个逻辑单元被一起执行。为了保证事务的一致性和隔离性,MySQL提供了不同的事务隔离级别。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

1279

2023.08.08

sqlserver和mysql区别
sqlserver和mysql区别

SQL Server和MySQL是两种广泛使用的关系型数据库管理系统。它们具有相似的功能和用途,但在某些方面存在一些显著的区别。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

6191

2023.08.11

mysql忘记密码
mysql忘记密码

MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。那么忘记mysql密码我们该怎么解决呢?php中文网给大家带来了相关的教程以及其他关于mysql的文章,欢迎大家前来学习阅读。

5342

2023.08.14

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

100

2026.10.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL vs MySQL
PostgreSQL vs MySQL

共1课时 | 193人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn