项目启动QRTZ_LOCKS‘ doesn‘t exist

Windows可以正常启动项目,Linux不能,报错如下
在这里插入图片描述
原因:Linux系统下Mysql数据表大小写敏感
解决办法:
1.查找my.cnf文件位置

locate my.cnf

2.修改Mysql配置文件, 在[mysqld]在下面增加一行
lower_case_table_names=1 (0:大小写敏感;1:大小写不敏感)
在这里插入图片描述
3.重启mysqld

systemctl restart mysqld
当若依框架出现 `Table 'hmk_test.QRTZ_LOCKS' doesn't exist` 错误,意味着在 `hmk_test` 数据库中找不到 `QRTZ_LOCKS` 表,以下是可能的解决办法: ### 1. 执行 Quartz 表创建脚本 Quartz 是一个强大的开源作业调度库,`QRTZ_LOCKS` 是 Quartz 框架使用的表之一。若依框架集成了 Quartz,需要确保数据库中创建了 Quartz 所需的表。可以从 Quartz 官方文档或 GitHub 仓库获取对应数据库类型(如 MySQL、Oracle 等)的表创建脚本,并在 `hmk_test` 数据库中执行。 以 MySQL 为例,以下是一个简单的创建 `QRTZ_LOCKS` 表的示例脚本: ```sql -- 创建 QRTZ_LOCKS 表 CREATE TABLE `QRTZ_LOCKS` ( `LOCK_NAME` VARCHAR(40) NOT NULL, PRIMARY KEY (`LOCK_NAME`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ``` ### 2. 检查数据库配置 确认若依框架的数据库配置是否正确,包括数据库名称、用户名、密码等。配置文件通常位于 `application.yml` 或 `application.properties` 中。 示例 `application.yml` 配置: ```yaml spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/hmk_test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai username: your_username password: your_password ``` ### 3. 检查数据库版本兼容性 确保使用的 Quartz 版本与数据库版本兼容。不同版本的 Quartz 可能对数据库表结构有不同要求,不兼容的版本可能导致表创建失败或无法找到表。 ### 4. 检查数据库连接权限 确保数据库用户具有在 `hmk_test` 数据库中创建和访问表的权限。可以通过以下 SQL 语句授予用户相应权限: ```sql -- 授予用户在 hmk_test 数据库的所有权限 GRANT ALL PRIVILEGES ON hmk_test.* TO 'your_username'@'localhost'; -- 刷新权限 FLUSH PRIVILEGES; ``` ### 5. 重新初始化数据库 如果以上方法都无法解决问题,可以尝试重新初始化若依框架的数据库。备份重要数据后,删除 `hmk_test` 数据库,然后重新创建数据库并执行若依框架的初始化脚本。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值