
将数据库从5.7迁移到8.0之后,启动项目,发现项目连不上数据库,查看日志,发现:
java.sql.SQLException: The connection property 'zeroDateTimeBehavior' acceptable values are: 'CONVERT_TO_NULL', 'EXCEP TION' or 'ROUND'. The value 'convertToNull' is not acceptable.
这时候去查看项目的配置文件:
jdbc:mysql://xxx:3306/xxx?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai&allowMultiQueries=true
原数据库的配置参数 : zeroDateTimeBehavior=convertToNull
根据日志报错信息,需要改成驼峰式写法:
zeroDateTimeBehavior=CONVERT_TO_NULL
修改完成重启之后,发现项目可以正常连接数据库
原因:
因为数据库是从5.7升级到8.0版本,对比java项目中的数据库jdbc后发现,用的数据库的jdbc的版本是8.011,而如果用 8.2xx版本的jdbc则不会有这种情况,推测原因是因为老的版本写法的问题,推荐使用新的版本
本文作者为lishengyu,转载请注明。
啥也不说了,希望疫情早点结束吧!