You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何连接DigitalOcean Function与MySQL?连接超时问题求助

解决DigitalOcean Python Function连接MySQL超时问题
  • 检查数据库防火墙规则:DigitalOcean MySQL实例默认仅允许指定IP访问,而Functions没有固定出口IP,需在数据库防火墙设置中添加0.0.0.0/0(测试用,生产环境建议限制为DigitalOcean Functions的IP段),确保连接请求能到达数据库。
  • 核对连接参数准确性:确认数据库主机地址(用平台提供的公网/专用地址)、端口(默认3306)、用户名、密码完全正确,参数错误会导致连接请求挂起直至超时。
  • 设置连接超时参数:在Python连接代码中显式设置短连接超时,比如connect_timeout=5,让连接失败时快速抛出错误,避免触发Function的6秒超时限制。示例代码:
import mysql.connector
from mysql.connector import Error

try:
    conn = mysql.connector.connect(
        host="你的数据库地址",
        user="数据库用户名",
        password="数据库密码",
        database="目标数据库",
        connect_timeout=5
    )
    if conn.is_connected():
        print(f"已连接到MySQL服务器版本: {conn.get_server_info()}")
except Error as e:
    print(f"连接MySQL出错: {e}")
finally:
    if 'conn' in locals() and conn.is_connected():
        conn.close()
  • 优先使用VPC内网连接:若Function和数据库在同一DigitalOcean VPC下,改用内网地址连接,大幅降低网络延迟,提升连接稳定性。
  • 检查Function网络权限:确认Functions运行环境未被限制出站网络访问,部分默认配置可能拦截外部数据库连接,需在Function设置中开启对应权限。

内容的提问来源于stack exchange,提问作者TaKo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 20:52:09