记一次SpringBoot无法连接Mysql的问题追踪

4 篇文章 0 订阅
2 篇文章 0 订阅

背景:

    Springboot工程打成了docker镜像,打出的镜像在测试环境测试通过可以正常使用;
然后修改springboot的配置文件后,布署到准生产环境,启动springboot工程的docker镜像,一直提示can't create connection;

问题追踪:

     (1) 怀疑是因为docker镜像无法访问宿主机上的mysql,将ip换成宿主机Ip,尝试后不行;
     (2) 换成127.0.0.1后不行,这个地址更不靠谱,访问的是docker容器的地址;
     (3) 然后查了一下docker在宿主机上对应的虚拟网卡docker0的地址,换成这个地址后仍然不行;
    (4)然后怀疑是mysql权限设置的问题,执行GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '12345678' WITH GRANT OPTION; flush privilages;仍然不行; 
     (5)最后实在没有办法了,去查看了mysql的报错日志,有报错提示:bad handshake,这句话让我眼前一亮,说明访问到了mysql的端口;赶快查看对应的Springboot配置文件的mysql连接字符串,发现useSSL=false被写成了USEssl=false,将该参数改正确后,再启动docker镜像,成功连接上mysql; 长舒一口气。

后记:

  因为mysql5.7之后,mysql默认开启了ssl的连接方式,因此如果没有证书的情况下,需要使用非ssl的连接方式。可以通过show variables like '%ssl%'查看mysql是否开启了ssl连接方式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值