场景:看过 人人 快速开发的都明白,这里面有很多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)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/16017.html