文章

在 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