记录一次错误,windows系统中连接mysql没有问题,连接Linux下的mysql找不到表。
最近写了个小网站,把本地mysql连接换成了Linux服务器上的mysql,运行项目,数据库连接成功,但是一直报错找不到数据库中的表。后来发现是因为我项目中数据库表名用的大写,改为小写错误消失了。
原因:
mysql数据库一般表名都是不区分大写小的,但这个不区分大小写只在windows系统中有效,在linux系统中是区分大小写的。
所以,要想Linux下的MySQL表名不区分大小写,需要修改Linux下MySQL的配置文件my.cnf,在[mysqld]加入一行: lower_case_table_names=1
之后,重启MySQL服务:
systemctl restart mysqld.service
问题解决。