以前使用的是5.1.31
的mysql
驱动,后面使用Spring Boot
默认的mysql
驱动,启动就报错了:
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.
按照提示,把application.yml
改成如下:
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver # 之前是com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/kaven
username: kaven
password: 015036
jpa:
hibernate:
ddl-auto: update #更新
show-sql: true
还是报错:
java.sql.SQLException: 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 utilize time zone support.
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129) ~[mysql-connector-java-8.0.13.jar:8.0.13]
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) ~[mysql-connector-java-8.0.13.jar:8.0.13]
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89) ~[mysql-connector-java-8.0.13.jar:8.0.13]
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:63) ~[mysql-connector-java-8.0.13.jar:8.0.13]
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:73) ~[mysql-connector-java-8.0.13.jar:8.0.13]
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:76) ~[mysql-connector-java-8.0.13.jar:8.0.13]
提示需要配置serverTimezone
,因为本地服务器的时区值是未被认可或者表示多个时区。
修改application.yml
:
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/kaven?serverTimezone=GMT
username: kaven
password: 015036
jpa:
hibernate:
ddl-auto: update #更新
show-sql: true
项目启动成功。以下serverTimezone
配置在博主这边都能启动成功。
serverTimezone=GMT%2B8
serverTimezone=GMT
serverTimezone=Asia/Shanghai
如果还是报错,检查Mysql
版本是否匹配mysql
驱动版本。