首页 >数据库 >mysql教程 >如何避免 Python 中的 MySQL 连接超时?

如何避免 Python 中的 MySQL 连接超时?

Barbara Streisand
Barbara Streisand原创
2024-12-08 12:20:16805浏览

How to Avoid MySQL Connection Timeouts in Python?

如何为 Python 配置 MySQL 连接超时

通过 Python 连接 MySQL 数据库时遇到的常见挑战是默认连接超时。这可能会导致错误,尤其是对于长时间运行的操作。在本文中,我们将探讨如何修改默认超时设置并缓解此类问题。

确定默认超时设置

MySQL 的默认超时设置可能会有所不同取决于服务器配置。要检查当前值,请使用 MySQL 命令行客户端(例如 mysql)连接到数据库。运行以下命令:

SHOW VARIABLES LIKE '%timeout%';

这将显示超时设置,包括:

  • connect_timeout
  • delayed_insert_timeout
  • innodb_lock_wait_timeout
  • innodb_rollback_on_timeout
  • 交互ve_timeout
  • lock_wait_timeout
  • net_read_timeout
  • net_writ e_timeout
  • slave_net_timeout
  • wait_timeout

更改默认超时

要修改超时设置,请使用 Python 客户端 (_mysql) 连接到数据库。执行以下查询:

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

这些设置控制:

  • connect_timeout:建立连接允许的时间(此处为 8 小时)
  • interactive_timeout:最大不活动时间交互式连接的持续时间(8 小时)
  • wait_timeout:所有连接的最长不活动时间(8小时)

建议

对于 10 小时的执行时间,建议设置更高的超时值(例如 32400 秒或 9 小时)。这可以防止由于超时而导致连接中断,并确保 Python 程序不间断运行。

以上是如何避免 Python 中的 MySQL 连接超时?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn