Failure obtaining db row lock: Table ‘QRTZ_LOCKS/QRTZ_SCHEDULER_STATE‘ doesn‘t exist

  • 具体错误
 ClusterManager: Error managing cluster: Failure obtaining db row lock: Table 'db_jeelowcode.QRTZ_LOCKS' doesn't exist

org.quartz.impl.jdbcjobstore.LockException: Failure obtaining db row lock: Table 'db_jeelowcode.QRTZ_LOCKS' doesn't exist
	at org.quartz.impl.jdbcjobstore.StdRowLockSemaphore.executeSQL(StdRowLockSemaphore.java:184)
	at org.quartz.impl.jdbcjobstore.DBSemaphore.obtainLock(DBSemaphore.java:113)
	at org.quartz.impl.jdbcjobstore.JobStoreSupport.doCheckin(JobStoreSupport.java:3335)
	at org.quartz.impl.jdbcjobstore.JobStoreSupport$ClusterManager.manage(JobStoreSupport.java:3935)
	at org.quartz.impl.jdbcjobstore.JobStoreSupport$ClusterManager.run(JobStoreSupport.java:3972)
Caused by: java.sql.SQLSyntaxErrorException: Table 'db_jeelowcode.QRTZ_LOCKS' doesn't exist
  • 解决办法1(无效)

编辑/etc/mysql/mysql.conf.d/mysqld.cnf,加入:

lower_case_table_names = 1

按理来说,这个应该是有效的。结果是重启mysql时直接报错,去掉就正常。我也不知道哪里出了问题。

  • 解决办法2(无效)
# 登录数据库
$ sudo mysql -uroot -p123456

# 察看表
SHOW TABLES LIKE 'qrtz_locks';

# 授权
GRANT SELECT, INSERT, UPDATE, DELETE ON db_jeelowcode.qrtz_locks TO 'root'@'localhost';
  • 解决办法3(有效)

直接改名!

RENAME TABLE qrtz_locks               to QRTZ_LOCKS;
RENAME TABLE qrtz_scheduler_state     to QRTZ_SCHEDULER_STATE;
RENAME TABLE qrtz_triggers            to QRTZ_TRIGGERS;
RENAME TABLE qrtz_fired_triggers      to QRTZ_FIRED_TRIGGERS;
RENAME TABLE qrtz_cron_triggers       to QRTZ_CRON_TRIGGERS;
RENAME TABLE qrtz_paused_trigger_grps to QRTZ_PAUSED_TRIGGER_GRPS;
RENAME TABLE qrtz_job_details         to QRTZ_JOB_DETAILS;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柳鲲鹏

能给阁下一点帮助,非常荣幸

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值