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


由於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,終於大小寫不敏感了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM