Linux下的MySQL默认区分大小写
windows下的MySQL默认不区分大小写
本人遇到的问题是MySQL是在docker里面的容器,已经部署成功在windows系统查询的时候区分表的大小写了。
查看区分大小写的命令
show variables like 'lower%'
lower_case_table_names参数详解:
lower_case_table_names = 0 为区分大小写
lower_case_table_names = 1 为不区分大小写
Linux系统中此参数默认为0
可以通过删除容器,删除linux系统下面配置文件的挂载路径(/mydata/mysql/conf),重新输入下面代码重新启动容器
[root@localhost mydata]# docker run -p 3306:3306 --name mysqlLinux \
> -v /mydata/mysql/log:/var/log/mysql \
> -v /mydata/mysql/data:/var/lib/mysql \
> -v /mydata/mysql/conf:/etc/mysql \
> -v /mydata/mysql/mysql-files:/var/lib/mysql-files \
> -e MYSQL_ROOT_PASSWORD=123456 \
> --restart=always \
> -d mysql --lower_case_table_names=1
在Linux下的MySQL区分大小写本质上就是修改配置文件里面的lower_case_table_names的值,把lower_case_table_names的值改为1然后重启就可以了。