从Azure Data Factory连接本地MariaDB超时问题求助
问题:ADF连接本地MariaDB超时故障排查
我正尝试通过Azure Data Factory(ADF)连接本地MariaDB。已在MariaDB端将自托管集成运行时(self-hosted IR)的IP加入白名单,但连接时仍出现超时错误。我已尝试使用端口22及默认端口3306,也查阅了微软官方文档并按步骤操作。
相关配置截图:


自托管IR的Telnet测试结果截图:
请问:
- 白名单配置是否生效?
- 若自托管IR与MariaDB的网络连接正常,还有哪些可能导致该超时故障?
- 是否有ADF连接MariaDB的详细文档?
解答
一、白名单配置有效性验证
如果Telnet测试能成功连通MariaDB的目标端口(3306),说明白名单已经生效——若白名单未生效,Telnet会直接被拒绝而非超时。如果Telnet测试失败,需确认:
- 自托管IR的实际出口IP是否为你添加到白名单的IP(比如IR部署在NAT网络下,出口是网关IP而非IR机器自身IP)
- MariaDB端的白名单规则是否正确(比如IP段是否写错、是否包含端口限制)
二、网络正常时的超时故障可能原因
- 端口误用:MariaDB默认监听3306端口,22是SSH端口,除非通过SSH隧道转发MariaDB流量,否则直接用22端口无法连接。先确认ADF配置用的是3306,且MariaDB服务确实监听该端口(可在服务器上执行
netstat -an | grep 3306验证)。 - 驱动缺失或版本不兼容:自托管IR必须安装适配版本的MariaDB ODBC驱动(推荐3.1.x及以上版本,且与IR操作系统的位数匹配),未安装或版本不对会导致连接超时。
- MariaDB服务配置限制:
- 检查
bind-address参数,确保设置为0.0.0.0(允许所有IP访问),若设为127.0.0.1则仅本地可访问,白名单无效。 - 查看最大连接数参数
max_connections,若已达上限,新连接会被拒绝,表现为超时。
- 检查
- ADF连接配置错误:
- 确认服务器IP/名称无拼写错误,用户名密码正确(MariaDB通常用SQL认证)。
- 若MariaDB要求SSL连接,需在ADF连接配置中开启SSL选项,否则会因协议不匹配超时。
- 中间设备拦截:即使Telnet连通,企业防火墙、本地防火墙可能对数据库协议进行深层拦截,可在IR机器上用MariaDB客户端直接测试连接(执行
mysql -h <MariaDB IP> -P 3306 -u <用户名> -p),排查是否为驱动或配置问题。
三、ADF连接MariaDB的详细参考内容
微软官方文档包含完整的配置步骤、驱动要求、连接参数说明及故障排查指南,涵盖:
- 自托管IR的部署与配置要求
- MariaDB ODBC驱动的安装步骤
- 连接字符串的可选参数详解
- 常见错误的定位与解决方法
内容的提问来源于stack exchange,提问作者Antony
相关产品推荐
相关产品推荐

