丈夫欲遂平生志,一载寒窗一举汤。这篇文章主要讲述MySQL8 JDBC连接zeroDateTimeBehavior注意事项相关的知识,希望能为你提供帮助。
前段时间,研发反馈个问题:
一个新上的服务,在测试环境(mysql5.6)跑的的好好的,发布到产线去(MySQL8.0.19) 运行不起来了,报错如下:
运行异常的jdbc连接串写法:
jdbc:mysql://test.mysql.db01:3306/sbtest?allowMultiQueries=true&
useSSL=false&
useUnicode=true&
characterEncoding=UTF-8&
autoReconnect=true&
zeroDateTimeBehavior=convertToNull&
useJDBCCompliantTimezoneShift=true&
useLegacyDatetimeCode=false&
serverTimezone=GMT%2B8&
nullCatalogMeansCurrent=true
修改后的如下:
jdbc:mysql://test.mysql.db01:3306/sbtest?allowMultiQueries=true&
useSSL=false&
useUnicode=true&
characterEncoding=UTF-8&
autoReconnect=true&
zeroDateTimeBehavior=CONVERT_TO_NULL&
useJDBCCompliantTimezoneShift=true&
useLegacyDatetimeCode=false&
serverTimezone=GMT%2B8&
nullCatalogMeansCurrent=true
问题:
在UAT环境(阿里云MySQL RDS8.0.18),上述的“运行异常的jdbc连接串” 服务可以正常运行。 到了生产MGR8.0.19就跑不起来。 二者只有1个小版本差距,查了mysql8.0.19的release note 也没找到关于zeroDateTimeBehavior这块的大的改动。
总体而言, 对应MySQL8的,连接还是用CONVERT_TO_NULL这种写法才是稳妥之道。
【MySQL8 JDBC连接zeroDateTimeBehavior注意事项】
推荐阅读
- Nginx常用设置信息
- 小型园区网络实例
- Google DevOps 度量(监控和可观测性)
- electron学习笔记如何通过electron实现图片查看器
- 百度程序员Android开发小技巧
- 算法题每日一练---第52天(位运算求解子集)
- 软件项目管理 2.1.项目立项
- 域成员服务器怎么会突然脱域()
- Harbor故障排查篇Harbor jobservice组件异常问题处理