Could not create connection to database server. Attempted reconnect 3 times. Giving up.

今天又遇到一个mysql奇怪的问题。mysql连接不了了。。。。整了很久,最终放弃了,直接复制了直接的mysql地址。整理一下问题,后来经过对比发现了问题,整理解决方案如下:

附报错截图:

 报错的url:

jdbc:mysql://127.0.0.1:3306/yf_user_db?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&autoReconnect=true&allowMultiQueries=true&serverTimezone=Hongkong

更改后的url:

jdbc:mysql://127.0.0.1:3306/yf_user_db?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=GMT%2b8&useSSL=false

仔细看一下,不同的地方就是后来更改了时区、和ssl:

serverTimezone=GMT%2b8&useSSL=false

添加了这两个就没有问题了。总结一下解决方案:

1.判断一下自己mysql的时区是那里。(是要设置serverTimezon)

使用navicat工具,新建查询,输入下面代码:

show variables like '%time_zone%';

就可以知道自己的时区了,一般是跟随系统时间。

 根据自己的时区选择对应的就好了。serverTimezon=???

2.判断自己mysql是多少版本。(是要设置useSSL)

使用navicat工具,查看:

如果是5.7版本以上就要加上useSSL=false。

注:在mysql进行连接的时候,如果mysql的版本是5.7之后的版本必须要加useSSL=false,mysql5.7之前的版本则不用进行添加useSSL=false,会默认为false,一般情况下都是使用useSSL=false,尤其是在将项目部署到linux上时,一定要使用useSSL=false,useSSL=true是进行安全验证,一般通过证书或者令牌什么的,useSSL=false就是通过账号密码进行连接,通常使用useSSL=false。

以上就是本次错误的理解了。出现这个问题会有很多种原因,各位可以在评论区留言,一起补充。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值