問題描述
串連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的解決辦法
檢查ECS和RDS執行個體是否位於不同的地區。如果不同,請參見解決無法串連執行個體問題。
檢查ECS和RDS的網路類型是否不同。如果不同,例如一個是傳統網路,一個是專用網路,請參見解決無法串連執行個體問題。
如果ECS和RDS執行個體的網路類型都是專用網路,則檢查ECS與RDS執行個體是否位於不同的VPC。如果不同,請參見解決無法串連執行個體問題。
檢查ECS執行個體的內網IP地址是否已添加到RDS執行個體的白名單。如果未添加,請參見設定白名單。
檢查白名單是否設定成了0.0.0.0,正確格式應該為0.0.0.0/0。
說明該地址允許任何裝置訪問RDS執行個體,有安全風險,請謹慎使用。
如果開啟了高安全白名單模式,請進行以下檢查:
如果使用的是專用網路的內網串連地址,請確保ECS內網IP地址添加到了專用網路的分組。
如果使用的是傳統網路的內網串連地址,請確保ECS內網IP地址添加到了傳統網路的分組。
檢查ECS執行個體中配置的RDS內網地址和連接埠是否正確。
說明可能添加了ECS的內網IP地址到RDS的白名單,但是使用的是RDS外網地址。
ECS以外的裝置無法訪問RDS的解決辦法
ECS以外的裝置訪問RDS時,只能通過外網串連。如果串連失敗,解決辦法如下所示。
檢查是否已設定RDS白名單。如果未設定,請參見設定白名單。
檢查白名單是否設定成了0.0.0.0。正確格式為0.0.0.0/0。
說明該地址允許任何裝置訪問RDS執行個體,有安全風險,請謹慎使用。
如果開啟了高安全白名單模式,需確保裝置公網IP地址是添加到了傳統網路的分組。
說明專用網路的分組不適用於公網。
如果您已設定白名單,那麼串連失敗很可能是因為您在白名單中添加的裝置公網IP地址並非裝置真正的出口IP地址。原因如下所示:
說明關於確認裝置公網IP地址的方法,請參見定位本地IP。
公網IP地址不固定,可能會變動。
IP地址查詢工具或網站查詢的公網IP地址不準確。
檢查您使用的串連地址是否為RDS的內網地址。如果是,需要改為外網地址。
適用於
雲資料庫RDS MySQL版
雲資料庫RDS MariaDB版