Mysql区分大小写(对大小写敏感)的问题解决

时间:2021-12-07 01:01:35

问题起因:

系统上线时,原本在Windows下开发的时候调试完一切正常。转到Linux后就报错查不到表(如下图1),纳闷了,查了一下数据库表(如图2)明明就在那儿啊。

图1:

Mysql区分大小写(对大小写敏感)的问题解决

图2

 Mysql区分大小写(对大小写敏感)的问题解决

然后把sql语句复制出来单独查询发现这个大写的表名找不到了,改成小写的就找到了。

问题定位到了,解决也就是一层窗户纸了。

问题解决:

查询一下Linux上的lower_case_table_names值是几

 

 

show Variables like '%table_names'

  Mysql区分大小写(对大小写敏感)的问题解决

0为区分大小写;1为不区分大小写。

如果改sql想着那么多sql语句要改,果断连上Linux服务器修改MySQL的配置文件。

修改/etc/my.cnf

在末尾加上一行  lower_case_table_names=1

 Mysql区分大小写(对大小写敏感)的问题解决

重启MySQL      

[root@VM_0_15_centos etc]# systemctl restart mysqld.service

再一查询发现已经变为1了

Mysql区分大小写(对大小写敏感)的问题解决

至此问题已经解决。

总结:

出现问题了,不应该立马怀疑自己错了。仔细分析问题找出错误源,才能对症下药。