MySQL的JDBC驱动8.0配置

一、背景

  随着MySQL版本不断迭代升级,相应得驱动也要跟着升级,这样才能更好运用MySQL的一些特性。

二、驱动更新步骤

   1、版本说明

       mysql-connector-java   8.0.21

      mycat  1.6.75

    2、配置说明

    mysql-connector-java 版本

<dependency>
	<groupId>mysql</groupId>
	<artifactId>mysql-connector-java</artifactId>
	<version>8.0.21</version>
</dependency>

    jdbc驱动类:com.mysql.jdbc.Driver  改成 com.mysql.cj.jdbc.Driver

    配置url: jdbc:mysql://192.168.11.11:6666/bm?useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false&serverTimezone=CST   

    url注意事项: serverTimezone要与数据库的时区对应上  

 3、调试过程存在的问题:

           A、java.sql.SQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.

           解决策略:

                1)、找DBA沟通,了解彼此使用的组件版本(mycat、 MySQL)

                2)、要加上useSSL 和 serverTimezone 时区 ,如  &useSSL=false&serverTimezone=CST     注意:serverTimezone要与数据库的时间对应上

          B、执行插入 or 更新 or 查询的时候,有时候后输出这些日志: 

              (DruidAbstractDataSource.java:1488) - discard long time none received connection. , jdbcUrl : jdbc:mysql://XXXXXXX?useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false&serverTimezone=CST, jdbcUrl : jdbc:mysql://XXXXXXX?useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false&serverTimezone=CST, lastPacketReceivedIdleMillis : 301555

            产生原因:druid 的版本较高,降低 druid 版本可以解决这个提示。如下:

<dependency>
   <groupId>com.alibaba</groupId>
   <artifactId>druid</artifactId>
   <version>1.1.22</version>
</dependency>

猜你喜欢

转载自blog.csdn.net/baidu_28068985/article/details/109397893