您现在的位置:首页 > >

MySQL的JDBC驱动8.0配置

发布时间:

一、背景

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


二、驱动更新步骤
? ?1、版本说明

? ? ? ?mysql-connector-java? ?8.0.21


? ? ? mycat? 1.6.75


? ? 2、配置说明

? ??mysql-connector-java 版本



mysql
mysql-connector-java
8.0.21

??? 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=GMT%2B8


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


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

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


? ? ? ? ? ??java.time.zone.ZoneRulesException: Unknown time-zone ID: CST


? ? ? ? ? ?解决策略:


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


? ? ? ? ? ? ? ? 2)、要加上useSSL 和 serverTimezone 时区 ,如??&useSSL=false&serverTimezone=GMT%2B8?? ?或者?serverTimezone=Asia/Shanghai


? ? ? ? ? ? ? ?注意: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 版本可以解决这个提示。如下:



com.alibaba
druid
1.1.22

?相关链接:https://juejin.cn/post/6844903476225376264


热文推荐
猜你喜欢
友情链接: