记录一次修改mysql配置文件不生效问题
前一段时间刚搭建完开发环境Ubuntu + mysql
开发时候发现新安装的mysql没有修改默认编码
SHOW VARIABLES LIKE '%char%';
那接下来就应该去修改mysql的配置文件了,首先我们先查询一下mysql是否指定了配置文件
ps aux|grep mysql|grep 'my.cnf'
发现没有输出,表示没有指定目录
然后我们可以通过命令查看mysql 默认启动读取my.cnf的路径
mysql --help|grep 'my.cnf'
可以看到最先读取/etc/my.cnf 以此类推 ,越靠前表示越优先读取
然后查看了/etc目录下 没有my.cnf文件
然后自己就新建一个内容为:
[mysql]
default-character-set=utf8
[mysqld]
character-set-server=utf8
lower_case_table_names=1
上传到/etc 目录下
重启mysql
service mysql restart
重启后发现,编码并没有变,紧接着把其他的都改了,同样的还是没有变
让我很郁闷,头都炸了。
后来突然发现一个东西Apparmor
参考https://www.cnblogs.com/-Lei/archive/2013/02/24/2923947.html
然后赶快查看自己的服务器上的配置
cat /etc/apparmor.d/usr.sbin.mysqld
可以看到 mysql配置文件所在的配置都是只读属性,原来在这卡着!!!!!
既然知道原因就好办了,我们直接添加一行
/etc/*.cnf rw,
如下图
然后重启mysql
service mysql restart
查看编码,搞定!!