先贴一个控制台输出的内容,我的数据库在线下正常能跑起来,但是我用Navicat将数据库表导出,然后放到服务器(新买的服务器,刚装上mysql)上的数据库里,出现了下面的错误

Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘hetongxianshang.ACT_GE_PROPERTY’ doesn’t exist

The error may exist in org/activiti/db/mapping/entity/Property.xml

The error may involve defaultParameterMap

The error occurred while setting parameters

SQL: select VALUE_ from ACT_GE_PROPERTY where NAME_ = ‘schema.version’

Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘hetongxianshang.ACT_GE_PROPERTY’ doesn’t exist

主要是最后这一句

Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘hetongxianshang.ACT_GE_PROPERTY’ doesn’t exist

提示我找不到这个ACT_GE_PROPERTY表,我的库里面是有的(数据库名字也对

线下mysql数据库转移到线上,项目启动的问题(我感觉只要是换新的数据库都有可能出现这个问题)_bc

然后我发现控制台输出出来表名是大写(ACT_GE_PROPERTY),但我的表名实际是小写,后来问同事,原来新的数据库需要在配置文件里面修改mysql默认对表和字段大小写敏感

线下mysql数据库转移到线上,项目启动的问题(我感觉只要是换新的数据库都有可能出现这个问题)_bc_02

具体解决方式:
直接在服务器命令行输入vi /etc/my.cnf,进入数据库配置文件
将lower_case_table_names=0改为lower_case_table_names=1,没有则添加
最后重启mysql即可

这是我的第一篇文章,对你有用的话点个赞吧,谢谢~