最近遇到一个问题,本地代码跑起来没问题,在测试环境重新部署后运行报错找不到表。
问题排查:首先确定表是否真正存在,如果存在则可能是因为数据库默认配置是区分大小写的。
org.quartz.impl.jdbcjobstore.LockException Failure obtaining db row lock Table doesnot exist
注意事项: 关闭大小写敏感前请删除原含有大写字符的数据库,否则关闭之后无法操作此类数据库(因为不到这个数据库了,查询均转化为全小写字符查找数据库)
修改配置文件 默认位置为 /etc/my.cnf
在 [mysqld]
节点下添加如下配置 (注意不要加错位置了,添加到其他节点无效)
0:大小写敏感;1:大小写不敏感
lower_case_table_names=1
重启mysql 服务
service mysql restart