解决 mysql5 升级到mysql8 ,mybatis连接失败

tech2025-03-23  5

转载: https://blog.csdn.net/AOBO516/article/details/93370637#%E5%8D%87%E7%BA%A7MySQL%E9%A9%B1%E5%8A%A8mysql-connector-java%E5%8D%87%E7%BA%A7%E5%88%B08.0.X%E7%89%88%E6%9C%AC

解决过程:

1 升级MySQL驱动mysql-connector-java升级到8.0.X版本

<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.16</version> </dependency>

2 修改配置中的驱动类 驱动类变了,原来是由原来的com.mysql.jdbc.Driver 改为 com.mysql.cj.jdbc.Driver

不修改会影响性能,启动过程中有告警: Loading class com.mysql.jdbc.Driver'. This is deprecated. The new driver class iscom.mysql.cj.jdbc.Driver’. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.

3 jdbc_url上的时区变为必须配置,否则会启动报错 在原来的 jdbc_url的最后加上 &serverTimezone=GMT

如:

jdbc:mysql://localhost:3306/dbname??useUnicode=true&characterEncoding=UTF-8&useSSL=true&serverTimezone=GMT&autoReconnect=true&failOverReadOnly=false

如果不加,报错:

Caused by: com.mysql.cj.exceptions.InvalidConnectionAttributeException: 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.
最新回复(0)