问题描述
生产环境中linux是区分大小写的,windows默认不区分,因为项目涉及到的数据库名含大写,所以进行设置
解决方案:
-
找到my.ini文件 这里推荐用Everything 直接搜就行
-
打开该文件 在[mysqld]加入 lower_case_table_names=2
参数说明:
lower_case_table_names=0 表名存储为给定的大小和比较是区分大小写的
lower_case_table_names = 1 表名存储在磁盘是小写的,但是比较的时候是不区分大小写
lower_case_table_names=2 表名存储为给定的大小写但是比较的时候是小写的
unix,linux下lower_case_table_names默认值为 0 .Windows下默认值是 1 .Mac OS X下默认值是 2
如果windos下用0会报错,因为文件目录大小写不敏感,所以该值改成2,只是存储为大写,这样项目打包到linux后也能兼容
- 重启数据库服务,大小写敏感生效