配置数据迁移任务时,可以进行数据库连接测试,很多时候会遇到测试连接失败。本文根据不同的实例类型介绍可能失败的原因及对应的解决方案。
当DTS测试连接失败时,你需要先通过数据库客户端连接数据库,验证数据库的存活性及数据库连接信息的正确性。如果数据库正常存活且连接信息没有问题,那么通过下面的方法解决问题:
根据以下不同的测试结果,进行相应的处理。
测试连接时,使用ping
命令测试网络不通,使用telnet
命令测试端口不通,且JDBC不通。
可能对数据库进行了访问来源限制,例如,在数据库上进行了iptables限制。
iptables -L
命令,确认是否设置了iptables。如果设置了iptables,那么请根据迁移任务的目标实例所在区域,选择对应区域的DTS IP地址段,在iptables中放开DTS的访问限制。测试连接时,使用ping
命令测试网络正常,使用telnet
命令测试端口不通,且JDBC不通。
可能对数据库的端口进行了访问来源限制,例如在数据库端口上进行了iptables或ACL限制。
测试连接时,使用ping
命令测试网络正常,使用telnet
命令测试端口正常,但JDBC不通。
测试连接时,使用ping
命令测试网络失败,使用telnet
命令测试端口正常,但JDBC不通。
可能是您的禁止ping ECS实例,且数据库账号密码填写有误。
/proc/sys/net/ipv4/icmp_echo_ignore_all
的参数值(值为1,说明禁止ping ECS实例)。根据以下不同的测试结果,进行相应的处理。
测试连接时,使用ping
命令测试网络不通,使用telnet
命令测试端口不通,且JDBC不通。
iptables -L
测试连接时,使用ping
命令测试网络正常,使用telnet
命令测试端口不通,且JDBC不通。
可能ECS设置了安全组,限制了数据库端口的访问来源。
请根据迁移任务的目标实例所在区域,选择对应区域的DTS IP地址段,登录ECS控制台,查看安全组是否限制了DTS的IP段。
测试连接时,使用ping
命令测试网络正常,使用telnet
命令测试端口正常,但JDBC不通。
测试连接时,使用ping
命令测试网络失败,使用telnet
命令测试端口正常,但JDBC不通。
可能是您的禁止ping ECS实例,且数据库账号密码填写有误。
/proc/sys/net/ipv4/icmp_echo_ignore_all
的参数值(值为1,说明禁止ping ECS实例)。专线接入,需要进行本地IDC接入设备上的静态路由、云上边界路由器上的路由表的配置,请参考专线接入使用手册,确认路由配置是否正确。
可能是数据库账号密码填写有误,请确认并修正。