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

部署后端项目的时候遇到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

posted @   小源博客  阅读(1007)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示