python mysql数据库操作模块pymysql 设置超时

pymysql是Python连接和操作mysql的模块, 在项目中, 有一个需求, 就是设置查询的超时时间, 一旦超过预设的时间, 需要抛出超时的异常信息, 查看源码.0.7.2 版本的pymysql的Connection的参数没有超时设置,如图:

 参数中有连接超时的配置型, 但是没有查询超时的配置信息,

到pymysql官网上查了下, 0.9.3版本,发现读数据超时, 写数据超时 的配置项都有,如图

 更新pymysql

在初始化连接时, 加上读取超时的配置项即可,单位是秒 

例如:

pymysql.connect(read_timeout=60, write_timeout=60, host=host, port=port, user=username, passwd=password, db=db_name)

如果查询超时, 就会抛出异常信息:

Lost connection to MySQL server during query (timed out)

实质上,超时时间的设置是通过对socket对象的设置,

问题:pymysql连接数据库超时 回答: 当使用pymysql连接数据库时,可能会遇到连接超时的问题。错误信息可能是pymysql.err.OperationalError: (2003, “Can’t connect to MySQL server on ‘…’ (timed out)”)。根据源码,在0.7.2版本的pymysql中,并没有提供设置连接超时的参数。这样可以确保在连接超时的情况下重新建立连接,避免超时错误的发生。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [pymysql连接服务器数据库超时](https://blog.csdn.net/qq_43339956/article/details/109165983)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [python mysql数据库操作模块pymysql 设置超时](https://blog.csdn.net/whatday/article/details/124744386)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [pymysql.err.InterfaceError: (0, ‘‘) 数据库连接超时](https://blog.csdn.net/weixin_43835542/article/details/108315644)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值