mysql升级8.0后,项目遇到的坑

一、Unknown system variable ‘tx_isolation’

出现这个异常,是因为mysql-connector-java.jar的版本太低,数据库的版本太高,不匹配导致的。
因此将mysql-connector-java升级到最新版本就解决了问题.

<!-- 替换前 -->
<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.38</version>
</dependency>
<!-- 替换后 -->
<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>8.0.16</version>
</dependency>

二、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

原因是因为使用了Mysql Connector/J 6.x以上的版本,然后就报了时区的错误

遇到的问题 servertime=UTC导致时间差8个小时(MySQL jdbc 6.0 版本以上必须配置此参数)。

解决办法,在配置url的时候不能简单写成 :


jdbc:mysql://localhost:3306/数据库名

而是要写成 :


jdbc:mysql://localhost:3306/数据库名?serverTimezone=UTC

而UTC代表的是全球标准时间 ,但是我们使用的时间是北京时区也就是东八区,领先UTC八个小时。


UTC + (+0800) = 本地(北京)时间

解决方案,url的时区使用中国标准时间。所以写成 :


jdbc:mysql://localhost:3306/数据库名?serverTimezone=Asia/Shanghai

三、validateConnection false

出现这个错误因为数据库连接池的包版本有问题,将数据库连接池升级,成功解决

<!-- 替换前 -->
<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.0.15</version>
</dependency>
<!-- 替换后 -->
<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.10</version>
</dependency>

四、如果项目使用的是maven私服

当项目是使用maven私服,而且私服里面也没有那些jar,解决办法:

<repositories>
<!-- 代码库 -->
<repository>
    <id>alimaven</id>
    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</repository>
</repositories>

五、总结

升级过程中可能遇到很多坑,我这里只列举了项目遇到的,还有一些服务器遇到的坑我就不一一列举了,希望能帮助到各位。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值