my.cnf 配置文件不生效处理
我的是/etc/mysql/conf.d/my.cnf 不生效
1. my.cnf加载顺序
在MySQL中,是允许存在多个 my.cnf 配置文件的,有的能对整个系统环境产生影响,例如:/etc/my.cnf。有的则只能影响个别用户,例如:~/.my.cnf。
MySQL读取各个my.cnf配置文件的先后顺序是:
/etc/my.cnf
/etc/mysql/my.cnf
/usr/local/mysql/etc/my.cnf
~/.my.cnf
其他自定义路径下的my.cnf,例如:/data/mysql/yejr_3306/my.cnf
/etc/my.cnf 里结尾又引入了
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/ 则会读取这两个 文件夹下的配置文件
2. 不生效分析
在docker 里 执行 mysql --help|grep ‘my.cnf’ 命令 (查看mysql读取配置文件顺序)
发现是 我的配置文件 /etc/mysql/conf.d/my.cnf 被忽略了
百度发现是 my.cnf 文件有被修改权限 mysql认为其不安全所以会忽略该配置文件
3.处理
修改好配置后 执行 chmod 644 my.cnf
然后重启配置就生效了