Linux下设置mysql不区分大小写

Linux下设置mysql不区分大小写

部署生产环境后端抛出 java.sql.SQLSyntaxErrorException: Table ‘USER.market’ exist,显示一直在数据库找不到user表,当时感觉很奇怪,怎么会找不到呢!本地环境都是ok的。后来发现MySQL在windows下是默认不区分的。linux是默认区分大小写的,我的sql用了工具美化格式就变成大写了,所以就抛出异常。
1.查看当前的MySQL是否开起区分大小写

show variables like '%case_table%';

Linux下设置mysql不区分大小写_第1张图片
lower_case_table_names=1(1为不区分)
lower_case_table_names=0(0为区分大小写)
解决方法
1.自定义安装的MySQL通常配置在/etc/my.cnf这里(其他位置请自行修改)

vim /etc/my.cnf;

在[mysqld]标签下面加入lower_case_table_names=1(设置为不区分大小写)

Linux下设置mysql不区分大小写_第2张图片
修改后保存 重启MySQL服务

service mysqld restart;

2.宝塔安装的MySQL,直接打开MySQL的配置管理在第6行下面加入

lower_case_table_names=1

Linux下设置mysql不区分大小写_第3张图片
在服务点击重启服务和重载配置都可以。

你可能感兴趣的:(MySQL查询,mysql,linux,数据库)