• 首页 > 
  • 配置迁移任务时测试连接失败的排查及解决方法

配置迁移任务时测试连接失败的排查及解决方法

KB: 84892

 · 

更新时间:2020-08-14 15:59

概述

配置数据迁移任务时,可以进行数据库连接测试,很多时候会遇到测试连接失败。本文根据不同的实例类型介绍可能失败的原因及对应的解决方案。

详细信息

当DTS测试连接失败时,你需要先通过数据库客户端连接数据库,验证数据库的存活性及数据库连接信息的正确性。如果数据库正常存活且连接信息没有问题,那么通过下面的方法解决问题:

有公网IP的自建数据库

根据以下不同的测试结果,进行相应的处理。

测试结果一

问题现象

测试连接时,使用ping命令测试网络不通,使用telnet命令测试端口不通,且JDBC不通。

问题原因

可能对数据库进行了访问来源限制,例如,在数据库上进行了iptables限制。

解决方法
  1. 请登录数据库所在服务器,通过执行iptables -L命令,确认是否设置了iptables。如果设置了iptables,那么请根据迁移任务的目标实例所在区域,选择对应区域的DTS IP地址段,在iptables中放开DTS的访问限制。
  2. 若您所在的网络环境有硬件防火墙,请确认硬件防火墙没有进行限制。
  3. 若以上检查都没有问题,请检查下您的路由是否正常。

测试结果二

问题现象

测试连接时,使用ping命令测试网络正常,使用telnet命令测试端口不通,且JDBC不通。

问题原因

可能对数据库的端口进行了访问来源限制,例如在数据库端口上进行了iptables或ACL限制。

解决方法
  1. 请根据迁移任务的目标实例所在区域,选择对应区域的DTS IP地址段,在iptables或ACL中放开DTS访问数据库的限制。
  2. 若您所在的网络环境有硬件防火墙,请确认硬件防火墙没有进行限制。
  3. 若以上检查都没有问题,请检查下您的路由是否正常。

测试结果三

问题现象

测试连接时,使用ping命令测试网络正常,使用telnet命令测试端口正常,但JDBC不通。

问题原因
  • 可能是数据库账号密码填写有误,或者是数据库的IP、Port连接地址填写错误。
  • 可能是数据库账号授权限制了连接地址。
解决方法
  • 请确认并修正数据库的连接信息。
  • 请放开所有的连接地址。

测试结果四

问题现象

测试连接时,使用ping命令测试网络失败,使用telnet命令测试端口正常,但JDBC不通。

问题原因

可能是您的禁止ping ECS实例,且数据库账号密码填写有误。

解决方法
  1. 修改ECS实例禁止ping的配置,例如iptables的/proc/sys/net/ipv4/icmp_echo_ignore_all的参数值(值为1,说明禁止ping ECS实例)。
  2. 参见测试结果三,确认密码或授权的连接地址没有问题。

ECS上的自建数据库

根据以下不同的测试结果,进行相应的处理。

测试结果一

问题现象

测试连接时,使用ping命令测试网络不通,使用telnet命令测试端口不通,且JDBC不通。

问题原因
  1. 可能在ECS上设置了iptables,限制了数据库的访问来源。登录ECS实例,执行如下命令,确认是否设置了iptables。如果返回iptables限制条目,那么请根据迁移任务的目标实例所在区域,选择对应区域的DTS IP地址段,在iptables中放开DTS访问限制。
    iptables -L
  2. 登录ECS控制台,查看安全组是否限制了DTS的IP段。

测试结果二

问题现象

测试连接时,使用ping命令测试网络正常,使用telnet命令测试端口不通,且JDBC不通。

问题原因

可能ECS设置了安全组,限制了数据库端口的访问来源。

解决方法

请根据迁移任务的目标实例所在区域,选择对应区域的DTS IP地址段,登录ECS控制台,查看安全组是否限制了DTS的IP段。

测试结果三

问题现象

测试连接时,使用ping命令测试网络正常,使用telnet命令测试端口正常,但JDBC不通。

问题原因
  • 可能是数据库账号密码填写有误,或者是数据库的IP、Port连接地址填写错误。
  • 可能是数据库账号授权限制了连接地址。
解决方法
  • 请确认并修正数据库的连接信息。
  • 请放开所有的连接地址。

测试结果四

问题现象

测试连接时,使用ping命令测试网络失败,使用telnet命令测试端口正常,但JDBC不通。

问题原因

可能是您的禁止ping ECS实例,且数据库账号密码填写有误。

解决方法
  1. 修改ECS实例禁止ping的配置,例如iptables的/proc/sys/net/ipv4/icmp_echo_ignore_all的参数值(值为1,说明禁止ping ECS实例)。
  2. 参见测试结果三,确认密码或授权的连接地址没有问题。

通过专线接入的本地DB

专线接入,需要进行本地IDC接入设备上的静态路由、云上边界路由器上的路由表的配置,请参考专线接入使用手册,确认路由配置是否正确。

云实例

可能是数据库账号密码填写有误,请确认并修正。

适用于

  • 数据传输服务DTS