部署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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构