前一段時間剛搭建完開發環境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
查看編碼,搞定!!
