一、下載的以下版本的mysql
image.png
二久妆、啟動(dòng)docker
我是要關(guān)閉大小寫(xiě)敏感的,所以在啟動(dòng)前就要加下--lower-case-table-names=1,我試過(guò),如果這里不寫(xiě)這個(gè)參數(shù)奈附,后面只改my.cnf是無(wú)法生效的。記住網(wǎng)上說(shuō)8.0上的mac和linux下用2是不對(duì)的煮剧,我試過(guò)斥滤。
docker run -p 3306:3306 --name mysql8case -e MYSQL_ROOT_PASSWORD=123456 -d a347a5928046 --lower-case-table-names=1
三、修改容器內(nèi)的/etc/mysql/my.cnf
[mysqld]
lower_case_table_names = 1 #加這行勉盅,不要聽(tīng)網(wǎng)上說(shuō)的linux 和mac是2
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
secure-file-priv= NULL
修改的辦法是先從容器上復(fù)制到本地佑颇,然后改完成再制到容器
docker cp ./my.cnf mysql8case:/etc/mysql/my.cnf #這是復(fù)制到容器去的(從容器中拉取的話,前后對(duì)調(diào)一下源和目標(biāo))
四草娜、驗(yàn)證
不要用,就算這里顯示OFF也不是真的有效
show global variables like '%lower_case%';
最好的辦法就是自己建一個(gè)庫(kù)挑胸,里頭放一些小寫(xiě)的表如:demo。 然后你用SQL進(jìn)行查找
select * from DEMO
如果不報(bào)錯(cuò)就是對(duì)了宰闰。