今天导入了一个项目,在配置好数据库后,运行该项目,显示表不存在,如下图所示
实际上这张表表是存在的
这个项目是我和几个小伙伴协同开发,他们拿到源代码后经过简单的数据库配置即可将项目运行起来,而我却出现了这个问题,经过查阅资料了解到以下信息。
MySQL在Windows下都不区分大小写,在Linux系统下数据库名、表名、列名、表别名大小写规则如下:
1、数据库名与表名严格区分大小写;
2、表别名严格区分大小写;
3、列名和列别名在所有情况下都是忽略大小写的;
4、变量名也是严格区分大小写的;
由此可见,由于我直接连接的就是我的云服务器上的MySQL数据库,服务器使用的是Linux系统,其他小伙伴都是直接在自己的Windows系统上部署的数据库,因此只有我出现了这个问题。
要解决这个问题,在MySQL配置文件,即/etc/my.cnf
中,在[mysqld]后边添加lower_case_table_names=1
,然后重启MySQL服务。
此时表名将不再对大小写敏感,重新运行项目,运行成功。