由於linux中mysql的的表名是區分大小寫的。所以需要配置my.conf。 所以在docker中需要把配置文件帶進去。在宿主機的目錄中新建my.conf文件,然後寫入如下配置。 [mysqld]user=mysql lower_case_table_names=1 在啟動docker時,把文件掛 ...
由於linux中mysql的的表名是區分大小寫的。所以需要配置my.conf。
所以在docker中需要把配置文件帶進去。在宿主機的目錄中新建my.conf文件,然後寫入如下配置。
[mysqld]
user=mysql
lower_case_table_names=1
在啟動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忽略了配置文件,導致依然大小寫敏感。
Warning: World-writable config file '/etc/mysql/my.cnf' is ignored
然後繼續百度,有人提到是mysql認為這個my.cnf文件的許可權太大,任何人可編輯,太危險了,所以就忽略了這個配置文件。
原來是這樣子的,為了方便ftp操作,運維把整個data文件夾都設置成了777許可權,所以這個cnf文件也配置成了777許可權,載入到docker里依然是777許可權,這個倒是我之前沒有碰到過的,知道問題原因就好解決了,改這個文件的許可權就可以搞定了。
重啟docker,終於大小寫不敏感了