网络问题,导致 连接 容器 mysql 异常
Posted 小烽
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络问题,导致 连接 容器 mysql 异常相关的知识,希望对你有一定的参考价值。
背景
今天接口添加参数,想debug下,执行直接,500异常,发现是 mysql导致。
[2020-08-11 10:52:10,428] [ERROR] [1Sbq2ZvQpY4w534jNldTJI40ht0Dh42U] com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization.
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
at com.mysql.jdbc.Util.getInstance(Util.java:408)?
心想,昨天断电 难道mysql还没恢复,但昨天看没已经恢复了啊, 难道 端口改了? 确认了也没有改,并且 在容器中能登入成功。 想哪里出问题了,外部连接被阻塞了?
尝试1
同事吧 容器 mysql 实例换了 port 试了下,还是 相同的 异常。
尝试2
? 新建一个mysql实例,ip和port都不变
? 用客户端连接 mysql 也是 不行(以前也出现过一下,是 连接慢导致的),这次用 命令行 登入 mysql 也是 ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘172.16.0.11‘ (60)
,怀疑 ip 是否有问题,
ping ip
bin % ping 172.16.0.11
PING 172.16.0.11 (172.16.0.11): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
Request timeout for icmp_seq 3
想到了 网络问题, 一看 连接的 wife, 果然不是公司的网,是 写字楼的网(昨天公司网段了。临时用了 写字楼的网)
使用 公司网络后,ping
bin % ping 172.16.0.11
PING 172.16.0.11 (172.16.0.11): 56 data bytes
64 bytes from 172.16.0.11: icmp_seq=0 ttl=62 time=11.351 ms
64 bytes from 172.16.0.11: icmp_seq=1 ttl=62 time=9.392 ms
64 bytes from 172.16.0.11: icmp_seq=2 ttl=62 time=9.150 ms
连通, mysql 客户端也连通,执行 请求,返回都正常了。。
? 网络连了 写字楼的 网络。。坑啊!!! 一开始真的没有想到。 短短几天就碰到了 2次网络的问题。
总结
1、容器 暴露对外的都是 内网的ip,并非公网, 连接时 需要 注意使用的 网络环境
2、网络知识需要多补充补充。 多用ping ip. telnet ip port. traceroute ip
这些基础命令进行排查
3、灵活的结合理论的知识,采用各种手段进行 问题排查, 如果 连接不同,可以结合 OSI七层模型先 看ip是否能连上, 然后 telnet 看 port是否有问题 ...
以上是关于网络问题,导致 连接 容器 mysql 异常的主要内容,如果未能解决你的问题,请参考以下文章