刚换了一家新公司,在公司电脑上搭建了新的开发环境。由于贪新鲜,在本地装了mysql 8.0.12版本,然后导入项目启动的时候出现报错信息如下:
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.
一开始以为是数据库服务没打开,用Navicat试着连接数据库,发现是成功的。
然后网上搜索问题,发现有人说是mysql8.0版本的数据库驱动名字改变了,
旧版本的数据库驱动名称是:com.mysql.jdbc.Driver,需要改成:com.mysql.cj.jdbc.Driver
于是修改了数据库连接配置信息
pom文件的mysql驱动也需要加上了版本号。
然后再运行项目,又发现报了另一个错误,如下:
Caused by: com.mysql.cj.exceptions.WrongArgumentException: The connection property 'zeroDateTimeBehavior' acceptable values are: 'CONVERT_TO_NULL', 'EXCEPTION' or 'ROUND'. The value 'convertToNull' is not acceptable.
网上搜索问题,发现由于数据库和系统时区差异所造成的,需要修改spring.datasource.url的配置,
将zeroDateTimeBehavior=CONVERTTONULL改成zeroDateTimeBehavior=CONVERT_TO_NULL,并加上&serverTimezone=GMT。
启动项目,OK!问题解决!