全部產品
Search
文件中心

:串連RDS MySQL或MariaDB執行個體時出現“Can’t connect to MySQL server on ‘XXX’報錯”

更新時間:Feb 28, 2024

問題描述

串連RDS MySQL或MariaDB執行個體時,提示以下其中一種錯誤資訊:

  • ERROR 2003 (HY000): Can’t connect to MySQL server on ‘XXX’(10038或10060或110)

  • 無法串連到資料庫:XXX

解決方案

本文主要介紹以下2種方法:

  • ECS通過內網無法訪問RDS的解決辦法

  • ECS以外的裝置無法訪問RDS的解決辦法

ECS通過內網無法訪問RDS的解決辦法

  1. 檢查ECS和RDS執行個體是否位於不同的地區。如果不同,請參見解決無法串連執行個體問題

  2. 檢查ECS和RDS的網路類型是否不同。如果不同,例如一個是傳統網路,一個是專用網路,請參見解決無法串連執行個體問題

  3. 如果ECS和RDS執行個體的網路類型都是專用網路,則檢查ECS與RDS執行個體是否位於不同的VPC。如果不同,請參見解決無法串連執行個體問題

  4. 檢查ECS執行個體的內網IP地址是否已添加到RDS執行個體的白名單。如果未添加,請參見設定白名單

  5. 檢查白名單是否設定成了0.0.0.0,正確格式應該為0.0.0.0/0。

    說明

    該地址允許任何裝置訪問RDS執行個體,有安全風險,請謹慎使用。

  6. 如果開啟了高安全白名單模式,請進行以下檢查:

    • 如果使用的是專用網路的內網串連地址,請確保ECS內網IP地址添加到了專用網路的分組。

    • 如果使用的是傳統網路的內網串連地址,請確保ECS內網IP地址添加到了傳統網路的分組。

  7. 檢查ECS執行個體中配置的RDS內網地址和連接埠是否正確。

    說明

    可能添加了ECS的內網IP地址到RDS的白名單,但是使用的是RDS外網地址。

ECS以外的裝置無法訪問RDS的解決辦法

ECS以外的裝置訪問RDS時,只能通過外網串連。如果串連失敗,解決辦法如下所示。

  1. 檢查是否已設定RDS白名單。如果未設定,請參見設定白名單

  2. 檢查白名單是否設定成了0.0.0.0。正確格式為0.0.0.0/0。

    說明

    該地址允許任何裝置訪問RDS執行個體,有安全風險,請謹慎使用。

  3. 如果開啟了高安全白名單模式,需確保裝置公網IP地址是添加到了傳統網路的分組。

    說明

    專用網路的分組不適用於公網。

  4. 如果您已設定白名單,那麼串連失敗很可能是因為您在白名單中添加的裝置公網IP地址並非裝置真正的出口IP地址。原因如下所示:

    說明

    關於確認裝置公網IP地址的方法,請參見定位本地IP

    • 公網IP地址不固定,可能會變動。

    • IP地址查詢工具或網站查詢的公網IP地址不準確。

  5. 檢查您使用的串連地址是否為RDS的內網地址。如果是,需要改為外網地址。

    說明
    • 如果RDS執行個體沒有外網地址,請申請外網地址

    • ECS和DMS以外的裝置無法通過內網訪問RDS(除非使用物理專線)。

適用於

  • 雲資料庫RDS MySQL版

  • 雲資料庫RDS MariaDB版