首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >丢失与位于‘:’的MySQL服务器的连接,系统错误: 10053已建立的连接已中止

丢失与位于‘:’的MySQL服务器的连接,系统错误: 10053已建立的连接已中止
EN

Stack Overflow用户
提问于 2019-01-16 03:19:15
回答 2查看 1.1K关注 0票数 1

这是我的python代码的一部分,用于将从Sharepoint检索到的数据插入到MySQL数据库中,它每10分钟运行一次。

代码语言:javascript
复制
cnx = mysql.connector.connect(user='user', password='pwd', host='CP-MSQL03',port='3306',database='datacenter')
cnx.autocommit=True
MySQL_cursor = cnx.cursor()


r = requests.get(url, headers=headers, params=params)
delete_data = []
for item in r.json()['d']['results']:
    id = item['Id']
    lot_No = item['LOT_No']
    start = datetime.strptime(item['START'], '%Y-%m-%dT%H:%M:%SZ')
    lbs = item['LBS']
    line_NAV = item['Line_No']['NAV_x0020_HS_x0020_LINE']
    rpo_No = item['RPO_No']['RPO_No']
    item_NO = item['RPO_No']['Item_No']
    mrt_No = item['RPO_No']['MRT_No']
    SQL_Insert = (
            "INSERT INTO datacenter.mrt_consumption_archive (Line_No, RPO_No, Item_No, MRT_No, LOT_No, Start_Time, LBS) "
            "VALUES('%s', '%s', '%s', '%s', '%s', '%s', %s);" % (
                line_NAV, rpo_No, item_NO, mrt_No, lot_No, start, lbs))
    MySQL_cursor.execute(SQL_Insert)
    delete_data.append(id)

这是我在成功运行了几个小时后得到的错误代码。

我的问题是,为什么我会得到这个错误?是防火墙问题吗?超时设置问题?如何排除故障?而且,为什么在第一次失败后,我在所有的重试中都得到相同的错误?

EN

回答 2

Stack Overflow用户

发布于 2019-01-16 04:00:33

连接中断,这种情况时有发生。防火墙、支持NAT的路由器等可能会使这种情况经常发生,但这仍然不是您希望程序崩溃的原因。

因此,一般来说,在运行查询之前,它必须对连接进行测试,并捕获任何连接异常。捕获后,重新启动连接。幸运的是,这是一个熟悉的概念,称为池化,它已经在连接器中可用。

摘自https://dev.mysql.com/doc/connector-python/en/connector-python-connection-pooling.html

隐式创建连接池的

:打开连接并指定一个或多个与池相关的参数(pool_name,pool_size)。例如:

dbconfig ={“数据库”:“测试”,“用户”:"joe“} cnx = mysql.connector.connect(pool_name = "mypool",pool_size = 3,**dbconfig)

如果您只是想从出于某种原因保持连接打开的角度来看它,您还可以设置一个短持续时间保持活动(如果问题是不可靠的网络设备正在从其内存中的表中清除您的连接,则这可能是您需要的所有解决方法)。如果你能解决你的网络问题,这比自定义连接设置更好。

票数 1
EN

Stack Overflow用户

发布于 2019-01-16 16:28:35

如果您脚本成功运行了几个小时,我认为这可能是数据库配置的一个参数,请用下面这句话检查您的配置,

代码语言:javascript
复制
SHOW GLOBAL VARIABLES where variable_name like'%time%';

也许是大量连接或者会话超时,但我敢肯定这是你的MySQL服务器的问题

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54205498

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档