JeecgBoot启动提示:QRTZ_LOCKS表不存在的问题解决

我的操作:

1、使用idea导入jeecg-boot项目
2、创建mysql库
create database `jeecg-boot` default character set utf8mb4 collate utf8mb4_general_ci;
3、执行sql脚本
jeecg-boot/db/jeecg-boot-mysql.sql
4、使用Docker配置好Mysql数据库和Redis
5、启动JeecgApplication
控制台提示:Table ‘jeecg-boot.QRTZ_LOCKS’ doesn’t exist

排查原因:

1、根据提示,应该是数据库表没有找到,提示表不存在
2、通过 Github Issues、JeecgBoot常见问题答疑,可知是由于数据库对大小写敏感导致。

解决问题:

1、连接Mysql并进入mysql命令行
2、执行show global variables like ‘%lower_case%’;
查看当前mysql的大小写敏感配置

±------------------------------------±------+
| Variable_name | Value |
±------------------------------------±------+
| lower_case_file_system | OFF |
| lower_case_table_names | 0 |
±------------------------------------±------+

3、lower_case_file_system
表示当前系统文件是否大小写敏感,只读参数,无法修改。
ON:表示当前系统对大小写不敏感
OFF:表示当前系统对大小写敏感
4、lower_case_table_names
表示创建的数据表名,是否区分大小写
lower_case_table_names = 1 :表示不区分大小写
lower_case_table_names = 0 :表示区分大小写

5、外部进入容器内部:

docker exec -it 48f7a24af2e2 bash

6、进入配置文件:

vim /etc/mysql/mysql.conf.d/mysqld.cnf

[mysqld]

lower_case_table_names=1

7、保存退出,重启容器即可

docker restart 48f7a24af2e2[容器 id]

你可能感兴趣的:(Java,Spring,Cloud从入门到放弃,spring,boot,java,后端,intellij,idea,jeecg)