今天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參數