1.美图
2.背景
今天单元测试之后连接Mysql之后报如下错误信息:
20/04/07 20:39:00 INFO AppInfoParser: Kafka version : 0.10.0.1
20/04/07 20:39:00 INFO AppInfoParser: Kafka commitId : a7a17cdec9eaa6c5
java.sql.SQLException: Unknown system variable 'query_cache_size'
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:569)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:537)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:527)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:115)
at com.mysql.cj.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2011)
网上查了原因是mysql-connecter-java的版本过低,很显然是数据库驱动程序与数据库版本不对应
解决办法:
如 mybatis使用 mysql-5.1.14的驱动程序,而mybatis配置的数据源连接的是 mysql-8.0.11 ,修改 pom文件即可,如下:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency>
根据官方的说法是 :
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在MySQL5.7.20就已经过时了,而在MySQL8.0之后就已经被移除了。
我改成8.0.11就可以了。