在 my.cnf 中修改了配置但是重启实例后参数不生效
MySQL 存在多个配置文件,在启动实例的时候配置文件的加载是有顺序的,详见官网说明。
排查过程
1.查看系统参数来自哪个配置文件
以max_connections
参数为例。
select variable_name,variable_source as source,variable_path,set_time,set_user as user,set_host from performance_schema.variables_info where variable_name='max_connections'\G
2.确定每个 variable_source 有几个参数被使用
select variable_path,variable_source,count(*) from performance_schema.variables_info where length(variable_path)!=0 group by variable_path,variable_source;
3.使其他配置文件配置参数失效
如果你想要设置的参数已经在/etc/my.cnf
之外的配置文件中进行设置,可以在对应文件中删除配置参数然后重启实例,如果查询出来配置参数来自mysqld-auto.cnf
则登录MySQL后使用reset persist
清除所有mysqld-auto.cnf
里的配置,或者使用reset persist 参数名
删除单个参数,然后重启实例。
License:
CC BY 4.0