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

转载:
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.
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值