【MySQL】MySQL连接为什么挂死?
本次分享的是一次关于 MySQL 高可用问题的定位过程,其中曲折颇多但问题本身却比较有些代表性,遂将其记录以供参考。
image.png image.png image.pngjdbc的socketTimeout值的设置要非常小心,不同数据库的jdbc driver设置不一样,特别是使用不同连接池的话,设置也可能不尽相同。
对于严重依赖数据库操作的服务来说,非常有必要设置这个值,否则万一网络或数据库异常,会导致服务线程一直阻塞。
从原则上讲,应该避免一切可能导致资源挂死的行为。
参考
MySQL连接为什么挂死?
https://www.cnblogs.com/littleatp/p/14088588.html
防火墙导致的数据库空闲连接断开问题
https://www.cnblogs.com/trust-freedom/p/6992952.html
Druid 1.2.12 发布,连接池默认指定 socketTimeout,增强 SQL Parser Latest
https://www.oschina.net/news/210070/druid-1-2-12-released
druid socket timeout 超时 15 分钟后,重建连接
https://my.oschina.net/u/3434392/blog/3017866
聊聊jdbc socketTimeout的设置
https://segmentfault.com/a/1190000012944562
https://mp.weixin.qq.com/s/lT04K9qn7vLEMNLZwNA2Cw
能 ping 通,TCP 就一定能连通吗?
https://mp.weixin.qq.com/s/4wUZExrP4sNGFcvpL_enwg
你能搞懂connectTimeout和socketTimeout的区别么?
https://mp.weixin.qq.com/s/ON0SAdYQvdJjvZgVOP-WNg