设置Linux下Mysql表名不区分大小写

时间:2022-06-17 05:18:42

有一次在GitHub上下载的代码在本机Windows环境下没有任何问题,可是一部署到服务器就出问题,报错信息是找不到某个表,可把我害惨了,搞了一上午不见好,上网查了好久才发现:MySQL的表名默认在Linux下是区分大小写的,而Windows下是不区分的!!


设置Linux环境下不区分大小:

用root帐号登录后,在/etc/my.cnf中的[mysqld](位置不要搞错了)后添加添加lower_case_table_names=1,重启MYSQL服务。
lower_case_table_names参数详解:
lower_case_table_names=0
其中0:区分大小写,1:不区分大小写


MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:
1、数据库名与表名是严格区分大小写的;
2、表的别名是严格区分大小写的;
3、列名与列的别名在所有的情况下均是忽略大小写的;
4、变量名也是严格区分大小写的;


PS:MySQL在Windows下都不区分大小写。