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

Azure Data Factory配置MariaDB Linked Service连接超时问题咨询

错误根因

你收到的ERROR [08001] [Microsoft][MariaDB] (1004) The connection has timed out while connecting to server: ip_here at port: 3306报错,核心原因是默认使用的Azure集成运行时(Azure IR)未部署在你的MariaDB所属的虚拟网络内,无法通过内网直接访问资源。同一VNet内的其他设备能正常连接,也验证了MariaDB本身的配置无问题。

你之前查到的自托管集成运行时仅支持Windows的说法已过时,目前自托管IR支持Linux容器化部署,同时还有更轻量化的VNet注入方案可选。

解决方案(按优先级从高到低排序)

方案1:使用带VNet注入的Azure集成运行时(最优,无需额外维护资源)

  • 在ADF控制台创建新的Azure集成运行时,勾选「启用VNet注入」选项
  • 选择你部署MariaDB的Ubuntu实例所属的虚拟网络和子网,保存配置
  • 创建MariaDB Linked Service时,选择该启用了VNet注入的集成运行时,直接填写MariaDB的内网IP、端口、账号密码即可完成连接

方案2:在Linux环境部署容器化自托管集成运行时

  • 在和MariaDB同一VNet的Ubuntu主机上安装Docker runtime
  • 拉取微软官方的自托管IR镜像,按照ADF控制台给出的注册命令启动容器,将IR绑定到你的ADF实例
  • 创建Linked Service时选择该自托管IR,使用内网IP访问MariaDB即可

方案3:公网放行Azure IR IP段(不推荐,安全性较低)

  • 为部署MariaDB的Ubuntu实例绑定公网IP,修改MariaDB配置文件/etc/mysql/mariadb.conf.d/50-server.cnf中的bind-address参数为0.0.0.0,重启MariaDB服务
  • 查询你ADF所属区域的Azure集成运行时公网IP段,将这些IP段加入Ubuntu的ufw/iptables入站规则,以及实例关联的Azure网络安全组入站规则,放行3306端口
  • 确认MariaDB的访问账号授权允许来自对应IP段的访问,测试连接即可
排查校验项

配置完成后可先做如下检查,避免重复报错:

  • 对应集成运行时所在网络环境能正常telnet MariaDB的3306端口
  • MariaDB的账号授权规则中,host字段允许集成运行时的IP访问
  • 所有网络安全组、防火墙规则均已放行对应流量

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 16:30:01