全部產品
Search
文件中心

ApsaraDB RDS:外網無法串連RDS MySQL或MariaDB:如何正確填寫本地裝置的公網IP地址

更新時間:Jun 11, 2026

在您通過公網訪問RDS MySQL或MariaDB前,需要將本地裝置或外部伺服器的公網IP地址添加到RDS白名單中。本文介紹如何確定公網IP地址。

問題描述

已經將本地IP地址添加到白名單中,但仍然無法串連。

以上很可能是因為您的公網IP地址不正確,或者本地公網IP地址發生變動。

說明

本文只適用於ECS以外的裝置訪問RDS執行個體的情況。如果是ECS執行個體訪問RDS執行個體,可以在ECS執行個體的詳情頁面查看準確的公網IP地址和內網IP地址。

前提條件

通過公網串連 RDS 執行個體前,請確認以下條件:

  1. 已申請公網地址:RDS 執行個體必須已開通公網串連地址(網域名稱形式,如 rm-bp1xxxxx.mysql.rds.aliyuncs.com)。內網地址無法用於外網串連。若未開通,請在 RDS 控制台的資料庫連接頁面申請公網地址。

  2. 正確理解白名單 IP:白名單中應填寫用戶端(本地裝置)的公網出口 IP,而非 RDS 執行個體的網域名稱或 IP 位址。

注意事項

如果您發現您本地裝置的公網IP地址會變化,而且建立的串連是用於生產環境,則建議您改為使用內網串連,或者在白名單中配置合理的公網IP段,確保不會因為IP地址改變而斷連。

定位本地裝置的公網IP地址

  1. 臨時添加白名單。

    將公司的公網網段或者0.0.0.0/0添加到RDS MySQL或MariaDB執行個體的白名單

    警告

    0.0.0.0/0表示允許任何裝置訪問RDS執行個體,有安全風險,請謹慎使用。完成測試後必須立即刪除。

  2. 擷取公網IP(任選一種方式)。

    • 方案一(推薦):通過curl ipinfo.io/ip查詢本地用戶端公網IP。

      說明

      如果串連仍存在異常,再通過curl ifconfig.me查詢公網IP。

    • 方法二:通過瀏覽器查詢(適合 Windows 等圖形化介面使用者)

      在瀏覽器中訪問以下任一網站,頁面將直接顯示您的本地公網出口 IP 位址:

      將顯示的 IP 位址添加至 RDS 執行個體的白名單中。

    • 方法三:通過 SQL 查詢擷取真實出口 IP

      按以下步驟操作:

      1. 臨時將白名單設定為 0.0.0.0/0,等待約 1 分鐘生效。

      2. 使用 mysql 用戶端從本地串連 RDS 執行個體:

        mysql -h<公網地址> -u<使用者名稱> -p<密碼> -P3306
      3. 串連成功後執行以下命令:

        SHOW FULL PROCESSLIST;
      4. 在結果中找到當前串連會話(Info 列顯示 show full processlist 或對應 User 的行),其 Host 列顯示的即為用戶端真實出口 IP(格式為 IP:Port,如 120.xx.xx.xx:52861)。

      5. 提取該 IP 位址,添加到 RDS 執行個體白名單中,並移除 0.0.0.0/0 條目。

      6. 中斷連線後重新串連,驗證白名單配置正確。

  3. 更新白名單。

    1. 刪除白名單中的0.0.0.0/0。

    2. 添加步驟2擷取的真實公網IP。

常見問題

  • 如何確定是本地公網IP地址變動導致無法串連資料庫?

    將0.0.0.0/0添加到RDS MySQL或MariaDB執行個體的白名單中,等待1分鐘左右,此時任何裝置都可以訪問RDS執行個體。如果測試可以正常串連資料庫,請將0.0.0.0/0從白名單中刪除,然後添加本地IP地址再進行測試,如果無法串連,則代表您當前的本地公網IP地址不是您之前填寫的IP地址。

  • 設定了白名單為什麼還是不行?

    如果確認是本地公網IP地址變動導致的白名單問題,請等待1分鐘左右,這是因為設定白名單後需要等待1分鐘左右才會生效。

    除了白名單之外,還有很多因素會導致您無法串連資料庫,詳情請參見解決無法串連執行個體問題

  • 能 Ping 通 RDS 地址或 Telnet 連接埠通,但資料庫用戶端(如 Navicat)仍無法串連?

    • Ping 通不代表資料庫授權通過:RDS 預設不禁止 Ping,能 Ping 通僅表示網路層可達,不代表資料庫服務授權您的 IP 訪問。

    • Telnet 通僅代表 TCP 通訊埠連通:連接埠 3306 連通只說明網路和連接埠正常,但資料庫層面的白名單驗證是獨立的。

    • 核心原因:用戶端 IP 未加入白名單,或白名單中的 IP 不是實際的公網出口 IP。

    • 解決方案

      1. 通過 SHOW PROCESSLIST 擷取資料庫看到的真實串連 IP(參見上文"方法三")。

      2. 將該 IP 添加到白名單。

      3. 同時檢查資料庫用戶端(如 Navicat)的串連參數:公網地址、連接埠(預設 3306)、帳號密碼是否正確。

  • RDS 串連日誌或 Processlist 中顯示的 IP 位址與本地查詢的 IP 不一致(如顯示為海外 IP 或陌生 IP)?

    原因:如果本網通過公司網關統一出口(NAT),資料庫看到的將是網關的公網 IP,而非本機 IP。

    解決方案:以資料庫中 SHOW PROCESSLIST 顯示的 Host IP 為準進行白名單配置,不要依賴本機查詢到的 IP。

跨境/跨地區訪問說明

  • 國內外伺服器均可通過 RDS 公網地址+白名單方式訪問 RDS 執行個體,無地區限制。

  • 如果對網路延遲和安全性要求較高,或需實現多地資料共用,建議:

  • 單純依賴公網訪問可能受跨境網路波動影響,建議生產環境優先使用內網方案。