部署ruoyi二开项目出现 Failure obtaining db row lock: Table ‘XXX.qrtz_LOCKS‘ doesn‘t exist

发布时间 2023-03-22 22:53:35作者: 小源博客

部署后端项目的时候遇到Failure obtaining db row lock: Table ‘XXX.qrtz_LOCKS‘ doesn‘t exist,百思不得其解,一开始以为是数据库版本问题,后来经过测试不是版本问题,于是乎查阅资料发现是mysql对表大小写有要求,但是当时创建表的时候都是小写,所以说就查不到qrtz_LOCKS这张表,所以就报错了,知道问题了就好解决了。

解决办法:

删除掉所有的qrtz表,重新创建以大写命名的表
找到mysql的配置文件 my.cnf 路径在etc/my.cnf
因为我用的宝塔管理的服务器,所以直接在应用商店搜索mysql,然后打开配置修改,找到mysqld下输入lower_case_table_names = 1 然后保存重载配置重启服务即可。

如果没有宝塔则可以用命令:

cd etc
vim my.cnf
此时点击A键触发编辑命令
然后找到位置输入lower_case_table_names = 1
最后输入
:wq
保存后输入
service mysql restart
重启mysql服务即可

最后可以
show variables like '%lower_case_table_names%'
查询是否开启忽略大小写校验配置,如果是1就说明已经开启了

PS:Windows不会存在这个问题,因为Windows Value默认为1,只有Linux系统会有这种问题。有时候重启服务后查询Value还是0,解决办法就是重启一下服务器就行,此处困扰了我好久,最后重启服务器后就好了。
转载:https://blog.csdn.net/u011628993/article/details/121751557