环境:我的本机是windows上安装的mysql8.0.14版本;项目:springboot整合ssm
错误1:Unknown system variable 'query_cache_size'
错误原因:本地mysql版本是8.0.14,pom里数据库配置的驱动版本为5,不一致导致
原有配置:引用了阿里云的数据源jar包
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.0</version>
</dependency>
修改后:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
其他的方面,关于mysql 8.0版本等高版本jdbcurl连接时需要进行许多参数设置(如:提示警告不建议使用没有带服务器身份验证的SSL连接),我这里本地测试,直接设置SSL=false
此时,启动项目,出现新的错误:
错误2:Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
此处报错的原因是,新版本需要将com.mysql.jdbc.Driver替换成com.mysql.cj.jdbc.Driver
改后,启动项目:又遇到了个错:
错误3: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to util
这个是数据库时区的错误,解决:
启动项目,访问ok
小结:我的本机是windows上安装的mysql8.0.14版本,使用springboot整合ssm项目时,因为springboot提供一个父项目,代为管理了一系列的核心jar包,当需要使用到高版本的mysql驱动jar包时,需要将springboot的版本一并提升。
最终成功版本:
springboot:2.1.4.RELEASE
mysql-connector-java:
mysql数据库版本:8.0.14