原项目是在windows环境下开发的,运行部署一切正常,放到CentOS服务器之后却无法正常地读取数据库数据。CentOS的默认编码就已经是UTF-8,所以专门设定了编码之后依然无用。事后和前辈交谈,一句惊醒梦中人,CentOS下的MySQL是默认大小写敏感的,而windows下默认大小写不敏感,我忘记关闭大小写敏感了(大小写敏感的事情我是知道的,但是在部署的时候就是给忘了,-_-||)。为了避免项目之间的干扰,重新设置了Tomcat并且只运行了这一个项目,运行终于正常了。
在Centos7 下mysql大小写敏感问题,会导致程序运行时找不到对应的表。
解决办法:
第一步:编辑/etc/my.cnf文件,在[mysqld]节下添加 lower_case_table_names=1 设置(备注:为0时大小写敏感,为1时大小写不敏感,默认为0;必须是在[mysqld]节点下添加,否则没有效果)
第二步:重启mysql