今天在CentOS上安装了数据库,通过Navicat远程连接mysql,新建了数据库,然后在CentOS上运行时项目时报错了,提示数据库中某个表不存在,可是明明有啊。后来通过查找资料得知,Linux系统下的Mysql的表名是默认区分大小写的。
解决方法:让Mysql的表名忽略大小写
通过root登陆mysql查看是否区分大小写:show variables like "%case%";
发现lower_case_table_names=0;区分大小写
修改 /etc/my.cnf文件,在[mysqld]节点下加上一行lower_case_table_names=1
vim /etc/my.cnf
修改完后,重启mysql:systemctl restart mysqld
运行成功!
注意:mysql8下如果安装mysql后运行过服务,会报错,而mysql5.7不会