MySQL 9.2 弃用 FLUSH PRIVILEGES:运维脚本要提前改
MySQL 从 9.2 创新版开始,对 FLUSH PRIVILEGES 及相关用法打出了弃用警告,并计划在未来版本移除。这个提醒影响的不只是 SQL 语句本身,连带被标记弃用的还包括:
FLUSH_PRIVILEGES权限mysqladmin flush-privilegesmysqladmin reloadmysqladmin refresh- 通过
SIGHUP信号刷新权限的用法
原因在于权限表读取方式已经演进。授权变更通常即时生效,不再需要靠整表重载来让权限生效。如果你的运维脚本还在定时执行 FLUSH PRIVILEGES 或 mysqladmin reload,现在只会不断触发告警,同时掩盖一个误区——为什么每次授权后还要重载。
迁移建议如下:
- 去掉对
FLUSH PRIVILEGES的依赖。授权后权限立即生效,无需额外刷新。 - 脚本中的
mysqladmin reload直接移除或替换为其他运维操作。 - 确有强制刷新场景时,关注对应版本公告,确认后续替代方案。
同批被弃用的还有 Version Tokens 插件,包括其函数 version_tokens_*、权限 VERSION_TOKEN_ADMIN,以及 mysqladmin refresh。升级到创新版或更高版本时,这类用法会产生弃用警告;从旧版本复制到新副本时也需要注意这些对象。不要把它们当作正常用法长期保留。