代码 MySQL 9.2 弃用 FLUSH PRIVILEGES:还在用 mysqladmin reload 的运维脚本要改

2026-09-09 21:04:38

MySQL 9.2 弃用 FLUSH PRIVILEGES:运维脚本要提前改

MySQL 从 9.2 创新版开始,对 FLUSH PRIVILEGES 及相关用法打出了弃用警告,并计划在未来版本移除。这个提醒影响的不只是 SQL 语句本身,连带被标记弃用的还包括:

  • FLUSH_PRIVILEGES 权限
  • mysqladmin flush-privileges
  • mysqladmin reload
  • mysqladmin refresh
  • 通过 SIGHUP 信号刷新权限的用法

原因在于权限表读取方式已经演进。授权变更通常即时生效,不再需要靠整表重载来让权限生效。如果你的运维脚本还在定时执行 FLUSH PRIVILEGESmysqladmin reload,现在只会不断触发告警,同时掩盖一个误区——为什么每次授权后还要重载。

迁移建议如下:

  1. 去掉对 FLUSH PRIVILEGES 的依赖。授权后权限立即生效,无需额外刷新。
  2. 脚本中的 mysqladmin reload 直接移除或替换为其他运维操作。
  3. 确有强制刷新场景时,关注对应版本公告,确认后续替代方案。

同批被弃用的还有 Version Tokens 插件,包括其函数 version_tokens_*、权限 VERSION_TOKEN_ADMIN,以及 mysqladmin refresh。升级到创新版或更高版本时,这类用法会产生弃用警告;从旧版本复制到新副本时也需要注意这些对象。不要把它们当作正常用法长期保留。

复制全文 生成海报 MySQL 运维 数据库 命令

推荐文章

程序员茄子在线接单