背景
在测试站上并没有问题,放到线上就会 错。如下:
(2013, ‘Lost connection to MySQL server during query ([WinError 10053] 您的主机中的软件中止了一个已建立的连接。)’)
分析
分析了一下主要会有以下三个方面的原因
- mysql服务器宕机了
- 执行的sql过长被杀死了
- 服务器连接超时了
解决
根据以上分析原因依次确认,mysql还可以打开并执行
排除了第一种,哈哈
测试了线上需要执行的时间很快,排除第二种
所以嘛,也就是第三种。连接超时了。
两种解法方案哈
1.修改等待时间wait_timeout,可以使用如下命令修改
简单说一下两种超时的区别吧,interactive_timeout是交互式连接,wait_timeout是非交互式连接,交互式就是打开一个客户端进行操作,而非交互式就是我们new Db,然后cursor操作这样。
2.第二种就是使用后台语言判断是否连接超时,进行重联。上代码
文章知识点与官方知识档案匹配,可进一步学习相关知识MySQL入门技能树首页概览32120 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!