记录一次错误,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
问题解决。

本文记录了一次在Linux环境下使用MySQL时遇到的问题:由于表名大小写敏感导致的数据库连接异常。在Windows系统中,MySQL默认不区分表名大小写,但在Linux系统中则区分大小写。通过修改my.cnf文件中的lower_case_table_names参数为1,并重启MySQL服务,可以解决此问题。


被折叠的 条评论
为什么被折叠?



