tencent cloud

数据传输服务

动态与公告
产品动态
公告
产品简介
产品概述
数据迁移功能描述
数据同步功能描述
数据订阅(Kafka 版)功能描述
产品优势
支持的地域
规格说明
购买指南
计费概述
变更配置说明
欠费说明
退费说明
快速入门
数据迁移操作指导
数据同步操作指导
数据订阅操作指导(Kafka 版)
准备工作
业务评估
网络准备
添加 DTS IP 地址至对接数据库白名单
DTS 服务权限准备
数据库及权限准备
配置自建 MySQL 系的 Binlog
数据迁移
数据迁移支持的数据库
云数据库跨账号实例间迁移
迁移至 MySQL 系列
迁移至 PostgreSQL
迁移至 MongoDB
迁移至 SQL Server
迁移至腾讯云分布式缓存数据库
任务管理
数据同步
数据同步支持的数据库
云数据库跨账号实例间同步
同步至 MySQL 系列
同步至 PostgreSQL
同步至 MongoDB
同步至 Kafka
任务管理
数据订阅(Kafka 版)
数据订阅支持的数据库
MySQL 系列数据订阅
TDSQL PostgreSQL 数据订阅
MongoDB 数据订阅
任务管理
消费管理
前置校验不通过处理方法
检查项汇总
割接说明
监控与告警
支持的监控指标
告警通知功能
通过控制台配置指标告警和事件告警
通过 API 配置指标告警和事件告警
运维管理
配置系统维护时间
任务状态扭转说明
实践教程
本地数据库同步上云
构建双向同步数据结构
构建多对一同步数据结构
构建多活数据中心
数据同步冲突策略如何选择
使用 CLB 代理将其他账号下的数据库迁移至本账号下
通过云联网方式迁移自建数据库至腾讯云数据库
DTS 性能调优最佳实践
常见问题
数据迁移
数据同步
数据订阅 Kafka 版常见问题
数据订阅正则表达式
错误处理
常见错误处理
连通性测试不通过
校验项结果不通过或者出现警告
云联网接入配置源数据时无法选择子网
迁移慢或者进度卡住
数据同步有延时
数据订阅延迟过高
数据消费异常
API 文档
History
Introduction
API Category
Making API Requests
(NewDTS) Data Migration APIs
Data Sync APIs
Data Consistency Check APIs
(NewDTS) Data Subscription APIs
Data Types
Error Codes
DTS API 2018-03-30
相关协议
服务等级协议
文档数据传输服务错误处理连通性测试不通过

连通性测试不通过

PDF
聚焦模式
字号
最后更新时间: 2024-07-08 15:46:20

问题现象

用户在创建迁移、同步或订阅任务时,源数据库或者目标数据库连通性测试失败。

可能原因

Telnet 测试不通过,可能原因如下。
Telnet 测试通过,Database Connect 失败,可能原因如下。

源数据库所在网络或服务器设置了安全组或者防火墙

安全组功能与防火墙功能类似,安全组是针对云上数据库的网络安全设置。
请根据现场情况,进行以下检查步骤:
源库为自建数据库,请检查源数据库所在的服务器是否配置了防火墙策略,如果有请关闭防火墙。
Windows 系统:打开控制面板找到 Windows 防火墙,查看是否配置了防火墙策略。
Linux 系统:请执行 iptables -L 命令,检查服务器是否配置了防火墙策略。
源库为腾讯云数据库,请检查源数据库配置的安全组是否限制了 DTS 的 IP 地址段,如果有请参考如下指导修改。 连通性测试异常时,界面会提示需要放开的 DTS 的 IP 地址段,具体如下所示。
1. 登录源数据库(如下以 MySQL 为例),在实例列表,单击实例 ID,进入实例管理页面。
2. 在实例管理页面,选择安全组页,查看是否存在禁止 DTS 的 SNAT IP 地址段的策略。

3. 修改 DTS 的 IP 地址段的策略,配置为允许

如果源库为第三方云厂商数据库,请检查相关安全组设置。

源数据库对来源 IP 地址进行了限制

检测方法

MySQL 检测方法

在源数据库部署的服务器上,使用数据迁移任务中填入的数据库账号和数据库密码连接源数据库。如果连接正常,说明源数据库可能限制了来源 IP 地址。
如果是自建数据库,需要在数据库上确认 bind-address 的配置,如果不是0.0.0.0,则 IP 受限。
如果源数据库为 MySQL,您可以使用 MySQL 客户端连接源数据库,执行以下 SQL 语句进行检查,检查输出结果中的授权 IP 地址列表中是否包含 DTS 的 SNAT IP 地址。 在给用户进行数据库的授权时,授权的 IP 中需要包含 SNAT IP,否则会发生 IP 受限问题。示例如下:
root@10.0.0.0/8 //授权用户通过指定10.0.0.0/8访问,其他 IP 会受限(错误配置)
root@% //授权用户访问所有的 IP,其中需要包含 SNAT IP(正确配置)
您可以通过如下方法验证。
select host,user,authentication_string,password_expired,account_locked from
mysql.user WHERE user='[\\$Username]'; //[\\$Username]为数据迁移任务中填写的数据库账号

SQL Server 检测方法

检查源数据库中是否有 Endpoint 或 Trigger 限制了访问来源 IP 地址。

PostgreSQL 检测方法

如果源端数据库为其他云数据库时,请首先检查源端云数据库实例的安全访问策略是否有所限制。请根据不同云厂商的限制方法来进行检查。
如果源端数据库为自建的 PostgreSQL 数据库,请进入 $PGDATA 目录下的 data 目录,找到 pg_hba.conf 文件。查看此文件中是否存在 deny 策略,或者仅允许部分网络端的 IP 地址访问。
# cat pg_hba.conf
local replication all trust
host replication all 127.x.x.1/32 trust
host replication all ::1/128 trust
host all all 0.0.0.0/0 md5
host all all 172.x.x.0/20 md5

MongoDB/Redis 检测方法

如果是自建数据库,需要在数据库上确认 bind 的配置,如果不是0.0.0.0,则 IP 受限。

修复方法

MySQL 修复方法

1. 源数据库为 MySQL,请在源数据库中执行以下 SQL 语句,重新给数据迁移使用的用户授权。
mysql> grant all privileges on . to '[\\$UserName]'@'%'; //[\\$Username] 为数据迁移任务中填写的数据库账号
mysql> flush privileges;
2. 如果源数据库为自建数据库,还需要确认 bind-address 配置,如果配置异常,请参考如下指导修改。 2.1. 在 /etc/my.cnf 文件中增加如下内容。
说明:
my.cnf 配置文件的默认路径为 /etc/my.cnf,现场以实际情况为准。
bind-address=0.0.0.0 #全部地址或者指定的 IP 地址
2.2. 重启数据库。
service mysqld restart
2.3. 验证配置是否生效。
netstat -tln
3. 重新执行校验任务。

SQL Server 修复方法

关闭防火墙或禁用 trigger。

PostgreSQL 修复方法

1. 请在pg_hba.conf文件中加入允许 DTS 网络段的访问策略。或者在迁移过程中临时放开所有网段的访问策略。如在此文件中添加一行:
host all all 0.0.0.0/0 md5
2. 修改完成后,可重启数据库实例,让配置生效:
pg_ctl -D $PGDATA restart
3. 重新执行校验任务。

MongoDB 修复方法

参考 MySQL 中的方法配置 bind-address。

Redis 修复方法

1. redis.conf 中关闭 bind 配置,或者将 bind 配置修改为0.0.0.0
2. 重启数据库让配置生效,然后重新执行校验任务。

网络端口未放通

常见数据库默认端口如下,需要确认这些端口已放通。如果用户修改了默认端口,请按实际情况修改放通的端口。
如果源数据库为 SQL Server,还需要同时放通文件共享服务端口445。
MySQL:3306
SQL Server:1433
PostgreSQL:5432
MongoDB:27017
Redis:6379

网络冲突问题

选择 VPN/专线 接入、云联网 接入方式的可以参考相应链接指导进行检查。

迁移账号授权问题

请参考 数据迁移数据同步 中的对应场景,重新对迁移账号授权。

数据库账号或密码不正确

登录源数据库,验证账号和密码是否正确。

对接入类型进行了修改

对于同一个源库和目标库,选择了一种接入类型(如“公网”)进行连通性校验通过后,不能再切换为其他的接入类型(如“公网”切换为“专线接入”),否则 DTS 后端网络代理识别异常,导致连通性校验报错。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈