首页/数据/数据库速查/参数生效与持久化(SET GLOBAL / SET PERSIST / my.cnf)
本包目录(495 条)
MySQL 基础与连接36 条SQL 语法52 条用户与权限21 条备份与恢复56 条主从复制与高可用53 条
性能与调优57 条
Redis 命令96 条Redis 运维与场景124 条

参数生效与持久化(SET GLOBAL / SET PERSIST / my.cnf)

三种改法三种命运:SET GLOBAL 重启即失、SET PERSIST 持久到 mysqld-auto.cnf、my.cnf 需要重启(动态参数也要 reload 才生效)。

数据库速查数据更新于 2026-10-12

方式

方式生效持久化
SET GLOBAL立即(新会话)否,重启丢失
SET PERSIST立即(新会话)写入 mysqld-auto.cnf
my.cnf 修改重启或 reload 后是(需手工维护)

示例与查看来源

示例与查看来源
SET GLOBAL max_connections = 1000;
SET PERSIST max_connections = 1000;
RESET PERSIST max_connections;   -- 撤销持久化
SELECT VARIABLE_NAME, VARIABLE_SOURCE, SET_TIME
FROM performance_schema.variables_info
WHERE VARIABLE_NAME IN ('max_connections','innodb_io_capacity');
my.cnf 与 mysqld-auto.cnf 同时存在时以自动文件优先,排障先查 variables_info.VARIABLE_SOURCE,别只翻 my.cnf。

易错点

  • SET GLOBAL 后没开新会话就断言没生效:旧连接仍用旧值
  • 把所有参数都 SET PERSIST:环境不一致时排查困难,模板应统一进配置管理

数据来源与参考

  • MySQL 8.0 Reference Manual: SET Syntax for Variable Assignment
  • MySQL 8.0 Reference Manual: performance_schema.variables_info

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌