JDBC 连接 MySQL 报错 Unknown system variable ‘query_cache_size‘
【摘要】
文章目录
前言一、原因分析二、版本对应表三、解决办法2.1 引入更高版本的驱动2.2 修改连接配置信息
前言
最近在使用mybatis-generator数据库逆向生成工具时,出现了如下图的错误,即java.sql.SQLException: Unknown system variable 'query_cache_size'。
一、原因分析
...
前言
最近在使用mybatis-generator
数据库逆向生成工具时,出现了如下图的错误,即java.sql.SQLException: Unknown system variable 'query_cache_size'
。
一、原因分析
- 检查连接的数据库版本是
8.0.20
- 项目使用的JDBC驱动
mysql-connector-java
的版本是5.1.41
- 在MYSQL官网查询相关文档
官网说法:
The query cache is deprecated as of MySQL 5.7.20,
and is removed in MySQL 8.0. Deprecation includes query_cache_size.
query cache 在MySQL 5.7.20 已经过时了,并且在MySQL 8.0 版本中被移除了。
- 1
- 2
- 3
- 4
很显然,是数据库驱动程序与数据库版本不一致导致的。
二、版本对应表
下表总结了 mysql-connector-java 与 JDBC、MySQL、JRE、JDK 的版本对应关系。
三、解决办法
2.1 引入更高版本的驱动
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.11</version>
</dependency>
- 1
- 2
- 3
- 4
- 5
2.2 修改连接配置信息
spring:
datasource: # 数据源的相关配置 driver-class-name: com.mysql.cj.jdbc.Driver #从com.mysql.jdbc.Driver修改为com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/shop?useSSL=false&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=UTC
- 1
- 2
- 3
- 4
或者引入5.1.49版本的也是可以的,这样不用修改连接配置信息:
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.11</version>
</dependency>
- 1
- 2
- 3
- 4
- 5
spring:
datasource: # 数据源的相关配置 driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/shop?&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true
- 1
- 2
- 3
- 4
文章来源: javalib.blog.csdn.net,作者:陈皮的JavaLib,版权归原作者所有,如需转载,请联系作者。
原文链接:javalib.blog.csdn.net/article/details/109019511
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)