com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'jffa.QRTZ_TRIGGERS' doesn't exist

场景:看过 人人 快速开发的都明白,这里面有很多qrtz_开头的11个表,这些表不是业务表,是定时任务的辅助表。情况是这样的,我在线下(windows系统),利用的是人人这同一套代码,业务表什么的都新建好了,线下测试也没有问题,上线(Linux系统)的时候,抛出这一段错误:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'jffa.QRTZ_TRIGGERS' doesn't exist

问题:在数据库 中明明有这张表 qrtz_triggers还是报这个错。

原因:这个错报的是在数据库里没有这个表 QRTZ_TRIGGERS ,其实数据库中有的是 qrtz_triggers。区别在于一个是大写,一个是小写。默认情况下,mysql是区分大小写的,所以为了避免这种问题,就需要把mysql的区分大小写的属性给修改了。

解决办法:

  • 修改/etc/my.cnf
  • [mysqld]节点下,加入一行: lower_case_table_names=1
  • 重启 MySQL 即可。 (service mysqld restart)

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'jffa.QRTZ_TRIGGERS' doesn't exist_第1张图片

你可能感兴趣的:(issues)