Linux下Mysql大小写敏感的问题
今天发现项目报了个异常:
bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'twe.PLACE' doesn't exist
提示表不存在,可查了数据库发现表是存在的,顿时意识到八成是大小写出问题了……但是我再windows环境下和Mac OSX的环境下开发的时候都没啥问题,那就奇怪了,万能的google告诉我:
Mysql的大小写敏感,在windows上lower_case_table_names变量的缺省值为1; 在linux上为0; 在mac os上为2;
看来还是不同环境的默认配置的问题,服务器是linux的环境,于是简单设置了一下,把mysql设置成大小写不敏感就OK了,操作如下:
1.打开mysql的配置文件
vi /etc/my.cnf
2.在 [mysqld] 下设置lower_case_table_names的值,也就是加一行:
lower_case_table_names=1
3.重启下mysql,于是搞定了