日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

quartz 报错:Failure obtaining db row lock: Table ‘test.QRTZ_LOCKS‘ doesn‘t exist

發(fā)布時間:2024/7/23 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 quartz 报错:Failure obtaining db row lock: Table ‘test.QRTZ_LOCKS‘ doesn‘t exist 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

問題:

spring-boot 整合quartz的時候,連接windows的mysql的時候好好的,然而用linux上的mysql的時候,啟動就報了這個錯:
Failure obtaining db row lock: Table ‘test.QRTZ_LOCKS’ doesn’t exist

分析:

首先用windows的mysql是沒問題的。
其實linux的mysql也是有這個表的,但由于是從windows復制過去的,所以表名都是小寫的,而quartz啟動的時候找的是大寫,所以認為test.QRTZ_LOCKS這個表不存在。
原理就在于mysql有個配置屬性:lower_case_table_names
windows上安裝mysql,默認是1,代表忽略大小寫
linux上安裝mysql,默認是0,代表不忽略大小寫
所以在windows好好的,在linux上就報錯了。

解決

方法1:最快的解決辦法,就是將所有quartz開頭的表,都換成大寫就好了
方法2:讓linux也像windows一樣,忽略大小寫。

具體就是設置linux上的lower_case_table_names=1,就和windows一樣了。步驟如下:

1、先執(zhí)行sql查看lower_case_table_names,如下圖:

show variables like '%lower_case_table_names%';

2、修改/etc/my.cnf文件,在文件末尾加lower_case_table_names=1,如下圖。

3、保存退出,重啟mysql即可。用到的命令:

cd /etc vim my.cnf 末尾加上lower_case_table_names=1 保存退出 service mysqld restart

4、重啟完再看lower_case_table_names的值


再次啟動項目,就成功了

總結

以上是生活随笔為你收集整理的quartz 报错:Failure obtaining db row lock: Table ‘test.QRTZ_LOCKS‘ doesn‘t exist的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。