Docker中mysql大小寫敏感配置不起做用的問題排查

因爲linux中mysql的的表名是區分大小寫的。因此須要配置my.conf。mysql

 

因此在docker中須要把配置文件帶進去。在宿主機的目錄中新建my.conf文件,而後寫入以下配置。linux

[mysqld]
user=mysql
lower_case_table_names=1 sql

 

在啓動docker時,把文件掛載進去,我用的是這個命令docker

docker run -d -e MYSQL_ROOT_PASSWORD=HAHA123 --name mysql -v /data/mysql/data:/var/lib/mysql -v /data/mysql/usr/data:/usr/data -v /data/mysql/my.cnf:/etc/mysql/my.cnf -p 3306:3306 mysql:5.6 運維

 

通常來說這樣啓動一切應該就正常了,可是我在環境中卻碰到了這個問題,mysql忽略了配置文件,致使依然大小寫敏感。it

 Warning: World-writable config file '/etc/mysql/my.cnf' is ignoredtable

 

而後繼續百度,有人提到是mysql認爲這個my.cnf文件的權限太大,任何人可編輯,太危險了,因此就忽略了這個配置文件。百度

原來是這樣子的,爲了方便ftp操做,運維把整個data文件夾都設置成了777權限,因此這個cnf文件也配置成了777權限,加載到docker裏依然是777權限,這個卻是我以前沒有碰到過的,知道問題緣由就好解決了,改這個文件的權限就能夠搞定了。ftp

 

重啓docker,終於大小寫不敏感了配置

相關文章
相關標籤/搜索