相关文章推荐
茫然的茶叶  ·  分享篇 | ...·  1 周前    · 
大方的手电筒  ·  blob转file java - CSDN文库·  1 周前    · 
刀枪不入的红薯  ·  mysql ...·  2 天前    · 
月球上的荔枝  ·  mysql ...·  2 天前    · 
气势凌人的跑步鞋  ·  Invoke-Sqlcmd ...·  2 周前    · 
强悍的大蒜  ·  来咯来喽 ~ ...·  1 年前    · 

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、先执行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的值

在这里插入图片描述
再次启动项目,就成功了

mysql有个配置属性:lower_case_table_names windows上安装mysql,默认是1, linux上安装mysql,默认是0,代表不忽略大小写 在my.cnf配置文件中[mysqld]标签的作用区域,增加lower_case_table_names=1的配置,然后重启MySQL服务 修改/etc/my.cnf文件 保存退出,重启mysql即可
org.quartz.impl.jdbcjobstore.LockException: Failure obtaining db row lock: Table 'xxx.qrtz_LOCKdoesn@TOC 欢迎使用Markdown编辑器 转自:https://www.cnblogs.com/cosmosray/p/13268771.html 异常信息表明:在创建quartz自带表时,表明是小写的,程序中使用的是大写表明,由于mysql数据库区分大小写,故无法找到大写表名的表。 解决方案一: 将对应qua
原因:Linux系统下Mysql数据表大小写敏感 1. docker cp mysql:/etc/mysql/mysql.conf.d/mysqld.cnf . (mysql为创建mysql容器时的name) 2. vi mysqld.cnf 在末尾加上: lower_case_table_names=1 (0:大小写敏感;1:大小写不敏感) 3. docker cp mysqld.cnf mysql:/etc/mysql/mysql.conf.d 4. docker restart mysql .
org.quartz.impl.jdbcjobstore.LockException: Failure obtaining db row lock: Table 'aly_uias.qrtz_LOCKS' doesn't exist 异常信息表明:在创建quartz自带表时,表明是小写的,程序中使用的是大写表明,由于mysql数据库...
centos7下,在/etc/my.cnf修改参数lower_case_tablenames=1 lower_case_table_names参数详解: lower_case_table_names= 0 其中0:区分大小写,1:不区分大小写 MySQLLinux下数据库名、表名、列名、别名大小写规则是这样的: 1、数据库名与表名是严格区分大小写的; 2、表的别名是严格区分大小写的; 3、列名...