复现
前几天进行业务迁移,在没有任何代码修改的基础上竟然出现了异常,切换到本地环境后,异常也复现了出来:
1 | java.sql.SQLException: Unknown system variable 'query_cache_size' |
解决方案
查看了网上的解决方案,基本上可以确定出异常所在,由于 mysql-connecter-java 的版本过低,导致数据库驱动程序和数据库版本不对应所致。
在官方的说明中, 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_size 在 MySQL5.7.20 版本就已经过时了,然后在 MySQL8.0 之后就被移除了。
更新对应的连接驱动程序
1
2
3
4
5
6<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.20</version>
</dependency>更换
MySQL低版本
将MySQL版本替换为原来使用的版本。
官方版本支持
下表从官网总结了可用的 Connector/JDBC版本,以及 JDBC 驱动程序类型的详细信息、支持的 JDBC API 版本、支持的 MySQL 服务器版本、支持的 JRE 、构建所需的 JDK 以及每个连接器的支持状态和 JDBC 版本。
供参考使用:
引用
个人备注
此博客内容均为作者学习所做笔记,侵删!
若转作其他用途,请注明来源!