今天spring boot的项目数据库从mysql5.7换到mysql8.0,遇到点问题,特此记录下来
查看mysql的版本
mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.12 |
+-----------+
修改mysql的依赖使用MySQL Connector/J
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.12</version> </dependency>
数据源配置
# 数据源配置,请修改为实际配置 spring.datasource.url=jdbc:mysql://localhost:3306/bim?serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=convertToNull&autoReconnect=true&useSSL=false&failOverReadOnly=false spring.datasource.username=bimengine spring.datasource.password=fgBQLZpgDaxH7xuu spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
项目启动如果报错
java.sql.SQLException: The connection property 'zeroDateTimeBehavior' acceptable values are: 'CONVERT_TO_NULL', 'EXCEPTION' or 'ROUND'. The value 'convertToNull' is not acceptable.
修改数据源配置
# 数据源配置,请修改为实际配置 spring.datasource.url=jdbc:mysql://localhost:3306/bim?serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=CONVERT_TO_NULL&autoReconnect=true&useSSL=false&failOverReadOnly=false spring.datasource.username=bimengine spring.datasource.password=fgBQLZpgDaxH7xuu spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
如果报错
java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowe
连接数据库的url中,加上allowPublicKeyRetrieval=true参数