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

执行sql:

show global variables like '%lower_case%';

4f8c3532a38a3f922ca153b702b58c47.png

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,可以看到结果:

备注:以上操作只适用于mysql5.7以前的版本,以后的版本如:

MySQL8.0 新增了data dictionary的概念,数据初始化的时候在linux下默认使用lower-case-table-names=0的参数,数据库启动的时候

参考:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值