今天把mysql数据库从windows迁到linux上,结果程序跑不起来了,不停提示“*** table doesn't exist”,查了一下,linux下默认mysql是区分大小写的,具体规则如下:
MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:
1、数据库名与表名是严格区分大小写的;
2、表的别名是严格区分大小写的;
3、列名与列的别名在所有的情况下均是忽略大小写的;
4、变量名也是严格区分大小写的;
MySQL在Windows下都不区分大小写。
如果改成不区分大小写,修改、/etc/my.cnf,在[mysqld]后面加上lower_case_table_names=1,重启mysql服务即可。