全部產品
Search
文件中心

:配置任務時測試連接失敗的排查及解決方案

更新時間:Feb 08, 2025

概述

配置資料移轉任務時,可以進行資料庫連接測試,很多時候會遇到測試連接失敗。本文根據不同的執行個體類型介紹可能失敗的原因及對應的解決方案。

詳細資料

當串連性預檢查失敗時,可能是由於如下原因:

image.png

診斷內容

可能原因

解決方案

JDBC

  1. 資料庫帳號密碼填寫有誤,或者是資料庫的IP、Port串連地址填寫錯誤。

  2. 資料庫帳號授許可權制了串連地址。

  1. 請確認並修正資料庫的串連資訊。

  2. 請放開所有的串連地址。

Ping

  1. 資料庫執行個體所屬服務的網路不通。

  2. 資料庫IP資訊填寫錯誤。

  1. 請檢查下您的網路是否正常。

  2. 請確認並修正資料庫的IP。

Telnet

  1. 資料庫執行個體有訪問限制。

  2. 資料庫Port資訊填寫錯誤。

  1. 請在資料庫執行個體中放開DTS公網IP段的存取權限(如資料庫所屬服務的防火牆或執行個體的IP白名單)。

  2. 請確認並修正資料庫的Port。

當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串連地址填寫錯誤。

  • 可能是資料庫帳號授許可權制了串連地址。

  • ECS自建資料庫沒有自動添加11開頭網段的路由(11開頭網段的gateway需要與10開頭網段的gateway相同)。

解決方案

  • 請確認並修正資料庫的串連資訊。

  • 請放開所有的串連地址。

  • 使用route -n命令查看gateway資訊,使用sudo route add -net 11.0.0.0/8 gw <10開頭網段的gateway>添加路由。

測試結果四

問題現象

測試連接時,使用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不通。

問題原因

DTS無法訪問ECS執行個體。

解決方案

  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接入裝置上的靜態路由、雲上邊界路由器上的路由表的配置,請參考專線接入使用手冊,確認路由配置是否正確。

雲執行個體

可能是資料庫帳號密碼填寫有誤,請確認並修正。