通过 python 连接时,如何更改默认的 Mysql 连接超时?

2025-02-25 09:07:00
admin
原创
20
摘要:问题描述:我使用 python 连接到 mysql 数据库con = _mysql.connect('localhost', 'dell-pc', '', 'test')我编写的程序需要很长时间才能完全执行,大约 10 个小时。实际上,我正在尝试从语料库中读取不同的单词。读取完成后出现超时错误。我检查了 My...

问题描述:

我使用 python 连接到 mysql 数据库con = _mysql.connect('localhost', 'dell-pc', '', 'test')
我编写的程序需要很长时间才能完全执行,大约 10 个小时。实际上,我正在尝试从语料库中读取不同的单词。读取完成后出现超时错误。

我检查了 Mysql 默认超时时间:

+----------------------------+----------+
| Variable_name              | Value    |
+----------------------------+----------+
| connect_timeout            | 10       |
| delayed_insert_timeout     | 300      |
| innodb_lock_wait_timeout   | 50       |
| innodb_rollback_on_timeout | OFF      |
| interactive_timeout        | 28800    |
| lock_wait_timeout          | 31536000 |
| net_read_timeout           | 30       |
| net_write_timeout          | 60       |
| slave_net_timeout          | 3600     |
| wait_timeout               | 28800    |
+----------------------------+----------+

我如何更改默认超时?


解决方案 1:

做:

con.query('SET GLOBAL connect_timeout=28800')
con.query('SET GLOBAL interactive_timeout=28800')
con.query('SET GLOBAL wait_timeout=28800')

参数含义(取自 MySQL Workbench 中的 Navigator:实例 > 选项文件 > “网络”选项卡 > “超时设置”部分)

  • connect_timeout:mysqld 服务器在响应“握手失败”之前等待连接数据包的秒数

  • interactive_timeout服务器在关闭交互式连接之前等待活动的秒数

  • wait_timeout服务器在关闭连接之前等待连接活动的秒数

顺便说一句:28800 秒是 8 小时,因此对于 10 小时的执行时间,这些值实际上应该更高。

解决方案 2:

您在 MySQL 配置文件中更改默认值(mysqld部分中的connect_timeout选项)-

[mysqld]
connect_timeout=100

如果您无法访问此文件,则可以使用此语句设置此值 -

SET GLOBAL connect_timeout=100;

解决方案 3:

我知道这是一个老问题,但仅供参考,也可以通过将适当的连接选项作为参数传递给_mysql.connect调用来实现。例如,

con = _mysql.connect(host='localhost', user='dell-pc', passwd='', db='test',
          connect_timeout=1000)

注意关键字参数(host、passwd 等)的使用。它们可以提高代码的可读性。

有关可以传递给的不同参数的详细信息_mysql.connect,请参阅MySQLdb API 文档

解决方案 4:

MAX_EXECUTION_TIME 也是长时间运行查询的一个重要参数。适用于 MySQL 5.7 或更高版本。

检查当前值

SELECT @@GLOBAL.MAX_EXECUTION_TIME, @@SESSION.MAX_EXECUTION_TIME;

然后根据你的需要进行设置。

SET SESSION MAX_EXECUTION_TIME=2000;
SET GLOBAL MAX_EXECUTION_TIME=2000;
相关推荐
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   1344  
  随着房地产行业的快速发展,项目管理在确保项目按时、按预算和高质量完成方面变得至关重要。2025年,房地产项目经理将面临更加复杂的项目需求和更高的管理标准。为了应对这些挑战,选择合适的管理工具显得尤为重要。本文将推荐10款在2025年备受房地产项目经理青睐的管理工具,帮助您提升项目管理效率,确保项目成功。禅道项目管理软件...
开源项目管理工具   0  
  在全球化日益深入的今天,跨国团队的合作已成为企业运营的常态。随着团队成员分布在不同国家和地区,语言和文化的多样性给项目管理带来了新的挑战。为了确保项目顺利进行,选择一款适合的多语言项目管理工具至关重要。本文将介绍2025年跨国团队必备的10款多语言项目管理工具,帮助团队高效协作,提升项目成功率。禅道项目管理软件禅道项目...
项目管理平台   0  
  随着工程管理领域的不断发展,项目管理软件已成为企业提升效率、优化资源分配和确保项目按时交付的重要工具。2025年,工程管理将面临更加复杂的挑战,包括跨团队协作、资源优化、数据驱动决策等。因此,选择一款适合的项目管理软件显得尤为重要。本文将为您推荐2025年最适合工程管理的10款项目管理软件,帮助您在众多选择中找到最适合...
项目管理工具   0  
  跨文化团队的项目运作日益普遍,高级项目管理师在其中扮演着至关重要的角色。有效的沟通是确保项目顺利推进、团队协作无间的关键因素。高级项目管理师需要掌握一系列独特的沟通技巧,以跨越文化差异带来的障碍,实现高效的信息传递与团队协作。理解文化差异文化差异是跨文化团队沟通中面临的首要挑战。不同国家、地区和民族有着各自独特的价值观...
项目管理包括哪些内容   1  
热门文章
项目管理软件有哪些?
云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用