雲小課|雲數據庫RDS實例鏈接失敗了?送你7大妙招輕鬆應對

摘要:自從購買了RDS實例,鏈接失敗的問題就伴隨着我,真是太難了。不要懼怕,不要着急,跟着小云妹,讀了本篇雲小課,讓你風裏雨裏,實例鏈接自此暢通無阻! 順着如下幾個方面進行排查,問題就能夠迎刃而解~

小A:個人實例鏈接失敗了,但就是找不出緣由html

小B:個人實例剛還行,怎麼突然就連不上了mysql

小C:個人……sql

自從購買了RDS實例,鏈接失敗的問題就伴隨着我,我真是太難了。不要懼怕,不要着急,跟着小云妹,讀了本篇雲小課,讓你風裏雨裏,實例鏈接自此暢通無阻!數據庫

順着如下幾個方面進行排查,問題就能夠迎刃而解~segmentfault

1. 排除數據庫實例異常

關係型數據庫系統故障,實例狀態異常,實例或表被鎖定均可能會致使實例異常,能夠嘗試實例重啓功能解決。安全

2. 使用正確的客戶端鏈接方式

建議安裝不低於數據庫實例版本的引擎客戶端。網絡

3. 使用正確的SSL方式安全鏈接

o (推薦)SSL方式:實例鏈接管理頁面的SSL開關開啓,而且上傳證書到ECS。測試

mysql -h 172.16.0.31 -P 3306 -u root -p --ssl-ca=/tmp/ca.pem優化

o 普通方式:實例基本信息頁面的SSL開關關閉。spa

mysql -h 172.16.0.31 -P 3306 -u root -p

4. 排除鏈接命令錯誤

包括鏈接地址、端口參數配置、用戶名和密碼、SSL方式錯誤,請正確配置參數項,並重試鏈接實例。

SSL內網鏈接MySQL示例:mysql -h 172.16.0.31 -P 3306 -u root -p --ssl-ca=/tmp/ca.pem

o 鏈接地址

目標實例的「鏈接管理」頁面,「內網鏈接」頁籤的「內網地址」。

o 數據庫端口

目標實例的「鏈接管理」頁面,「內網鏈接」頁籤的「數據庫端口」。

o 用戶名和密碼

root管理員賬號及其對應的密碼。

o 證書名稱

SSL證書文件名,該文件需放在執行該命令的路徑下。

SSL公網鏈接MySQL示例:mysql -h 公網地址 -P 3306 -u root -p --ssl-ca=/tmp/ca.pem

o 鏈接地址

目標實例的「鏈接管理」頁面,「公網鏈接」頁籤的「彈性公網IP」。

o 數據庫端口

目標實例的「鏈接管理」頁面,「公網鏈接」頁籤的「數據庫端口」。

o 用戶名和密碼

root管理員賬號及其對應的密碼。

o 證書名稱

SSL證書文件名,該文件需放在執行該命令的路徑下。

5. 排除網絡不通

內網訪問

1).檢查ECS與RDS是否在同一個區域,VPC。

不一樣區域的雲服務之間內網互不相通,沒法訪問實例。請就近選擇靠近您業務的區域,可減小網絡時延,提升訪問速度。

不一樣VPC下,支持將ECS的虛擬私有云切換爲與RDS實例一致,或使用VPC對等鏈接,爲兩個不一樣的虛擬私有云創建對等鏈接,實現內網互通。

2).檢查安全組規則。

安全組外訪問安全組內的RDS實例時,須要爲安全組添加相應的入方向規則。

3).在ECS上測試是否能夠正常鏈接到RDS實例地址的端口。

telnet <鏈接地址> <端口號>

公網訪問

1).檢查安全組規則。

安全組外訪問安全組內的RDS實例時,須要爲安全組添加相應的入方向規則。

2).檢查網絡ACL規則。

進入虛擬私有云網絡ACL列表,確認EIP綁定的網卡在網絡ACL關聯的子網下,並查看網絡ACL狀態。若是爲「開啓」,須要添加ICMP放通規則進行流量放通。

3).相同區域主機進行ping測試。

若是在原ECS上沒有ping通RDS實例綁定的EIP,請在相同區域的另外一臺ECS上去ping該EIP,若是能夠正常ping通,說明虛擬網絡正常。

6. 排除實例的鏈接數滿的狀況

1).查看實例的鏈接數指標是否已達上限。

2).請及時排查業務側鏈接是否有效,優化實例鏈接,釋放沒必要要的鏈接。

3).雲監控服務目前能夠監控數據庫CPU、內存、磁盤、鏈接數等指標,而且設置告警策略,出現告警時能夠提早識別風險。

7. 鏈接失敗的常見報錯

o ERROR 2013:Lost connection to MySQL server during query

鏈接超時參數「wait_timeout」和「interactive_timeout」設置太小時,MySQL會自動斷開超時的空鏈接。具體請參見MySQL客戶端鏈接實例後會自動斷開。

o ERROR 1045 (28000): Access denied for user ‘root'@‘192.168.0.30' (using password:YES)

排除是否密碼錯誤問題,確認該主機是否有鏈接數據庫實例的權限,以及MySQL客戶端和實例VIP是否能夠連通,具體請參見鏈接RDS實例失敗的常見報錯。

o ERROR 1226 (42000):User‘test' has exceeded the‘max_user_connections' resource (current value:10)

排查是否限制了實例的鏈接數,致使鏈接失敗,具體請參見鏈接RDS實例失敗的常見報錯。

o ERROR 1129 (HY000): Host ‘192.168.0.111' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'

排查是否因爲MySQL客戶端鏈接數據庫的失敗次數(不包括密碼錯誤),超過了max_connection_errors的值,致使鏈接失敗,具體請參見鏈接RDS實例失敗的常見報錯。

o [Warning] Access denied for user 'username'@'yourIp' (using password: NO)

鏈接MySQL和PostgreSQL實例時出現該報錯,請檢查用戶名或密碼是否正確。

o [Warning] Access denied for user 'username'@'yourIp' (using password: YES)

鏈接MySQL和PostgreSQL實例時出現該報錯,請檢查用戶名或密碼是否正確。

o Login failed for user 'username'

鏈接SQL Server實例時出現該報錯,請檢查用戶名或密碼是否正確。

雲數據庫RDS不但支持客戶端方式連實例,還對接了DAS服務,使用DAS可視化界面鏈接並管理數據庫,安全又簡單。

趕忙戳這裏瞭解詳情吧~~

點擊關注,第一時間瞭解華爲雲新鮮技術~

相關文章
相關標籤/搜索