一、下载的以下版本的mysql
image.png
二、启动docker
我是要关闭大小写敏感的,所以在启动前就要加下--lower-case-table-names=1,我试过,如果这里不写这个参数,后面只改my.cnf是无法生效的。记住网上说8.0上的mac和linux下用2是不对的,我试过。
docker run -p 3306:3306 --name mysql8case -e MYSQL_ROOT_PASSWORD=123456 -d a347a5928046 --lower-case-table-names=1
三、修改容器内的/etc/mysql/my.cnf
[mysqld]
lower_case_table_names = 1 #加这行,不要听网上说的linux 和mac是2
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
secure-file-priv= NULL
修改的办法是先从容器上复制到本地,然后改完成再制到容器
docker cp ./my.cnf mysql8case:/etc/mysql/my.cnf #这是复制到容器去的(从容器中拉取的话,前后对调一下源和目标)
四、验证
不要用,就算这里显示OFF也不是真的有效
show global variables like '%lower_case%';
最好的办法就是自己建一个库,里头放一些小写的表如:demo。 然后你用SQL进行查找
select * from DEMO
如果不报错就是对了。