linux下mysql表名大小写敏感的问题

Posted shiyun32

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下mysql表名大小写敏感的问题相关的知识,希望对你有一定的参考价值。

执行sql:

show global variables like %lower_case%;

技术图片

lower_case_file_system:表示当前系统文件是否大小写敏感,只读参数,无法修改
ON 大小写不敏感
OFF 大小写敏感

 

lower_case_table_names:这个选项不仅仅适用于表名的大小写敏感,同样适用于数据库名和表别名。
该变量取值范围有三个,分别是0、1、2.
设置成0:表名按你写的SQL大小写存储,大写就大写小写就小写,比较时大小写敏感。
设置成1:表名转小写后存储到硬盘,比较时大小写不敏感。
设置成2:表名按你写的SQL大小写存储,大写就大写小写就小写,比较时统一转小写比较。

 

修改方法:

//1.首先进入到docker中的mysql容器,9b33e00a9488为mysql的容器id:
docker exec -it 9b33e00a9488 /bin/bash

//2.安装vim编辑器,方便修改配置文件(以下两个命令都是在进入mysql容器后输入的)
//同步/etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包。
apt-get update
apt-get install vim

//3.修改mysql的配置文件,如果你不想修改,只是想查看下文件的话,那你不需要安装vim编辑器,
// 可以直接使用cat my.cnf查看
vim /etc/mysql/my.cnf


在[mysqld]下添加如下:
[mysqld] 
lower_case_table_names=1

保存,退出mysql容器;
执行docker restart MySQL ,重启MySQL容器即可查看

 再一次输入以上sql,可以看到结果:

 

 

 

 

参考:

MySQL表名大小写敏感导致的问题

解决Docker安装MySQL不区分大小写问题

以上是关于linux下mysql表名大小写敏感的问题的主要内容,如果未能解决你的问题,请参考以下文章

关于 MySQL 中对数据库表名大小写敏感的问题

关于 MySQL 中对数据库表名大小写敏感的问题

MYSQL如何设置大小写敏感

MySQL表名大小写敏感性

大小写敏感的问题

linux docker mysql容器 表名大小写敏感失效-有效解决方法