全部產品
Search
文件中心

ApsaraDB RDS:串連RDS MySQL時報錯has more than 'max_user_connections'或has exceeded the 'max_user_connections'

更新時間:Jun 28, 2024

max_user_connections是指使用者最大串連數。如果出現has more than 'max_user_connections' active connections或User 'xxx' has exceeded the 'max_user_connections' resource等有關使用者最大串連數已滿的報錯,您可以參照本文進行操作,解決報錯問題。

問題現象

通過DMS控制台或者資料庫用戶端無法串連RDS MySQL資料庫,且提示“max_user_connections”相關錯誤資訊。

問題原因

RDS MySQL資料庫的串連數已滿,導致不能正常串連。

擷取訪問來源

控制台功能查看

SQL洞察和審計

開啟SQL洞察和審計功能後會自動記錄來自資料庫核心的SQL語句,以及SQL語句的執行帳號、IP地址、執行詳情等資訊,對執行個體效能沒有影響。詳情請參見SQL洞察和審計

說明

SQL洞察和審計功能為收費功能,計費詳情請參見SQL洞察和審計功能計費詳情

開啟步驟
  1. 訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。

  2. 在左側導覽列中,選擇自治服務 > SQL洞察和審計

  3. 開通SQL洞察和審計。

會話管理

使用會話管理功能,可直觀地查看執行個體當前的全部會話、活躍會話和異常會話,並展示執行個體被訪問的使用者、主機、執行時間和狀態等。詳情請參見會話管理

開啟步驟
  1. 訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。

  2. 在左側導覽列中,選擇自治服務>一鍵診斷

  3. 單擊一鍵診斷頁簽。

  4. 一鍵診斷頁面,選擇會話管理,可查看當前執行個體會話的使用者、主機、執行時間和狀態等。

通過SQL命令查看

說明

資料庫連接已滿,無法支援新會話串連,導致SQL不能執行。如有歷史保留的DMS會話,可執行SQL查看。

使用者可以通過ECS訪問資料庫或登入DMS去操作資料庫,執行以下SQL命令查看當前執行慢的線程,針對比較慢的線程進行處理。更多資訊請參見:

SHOW PROCESSLIST;

返回結果Host列為訪問來源的IP地址。

image

解決方案

  1. 查看資料庫執行個體會話串連詳情。

    1. 訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。

    2. 在左側導覽列中,選擇自治服務(原CloudDBA) > 一鍵診斷

    3. 單擊會話管理,在會話管理頁簽查看資料庫執行個體的會話串連詳情。詳細內容請參見執行個體會話

  2. 查看資料庫執行個體的max_user_connections配置。

    您可以通過以下兩種方式查看max_user_connections參數值:

    • 在RDS控制台查看:

      1. 訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。

      2. 在左側導覽列中,單擊參數設定

      3. 可修改參數頁簽中查看max_user_connections參數值。

    • 登入RDS MySQL資料庫,執行如下命令查看max_user_connections的參數值。

      show variables like 'max_user_connections';

  3. 在確認記憶體資源充足的情況下,將max_user_connections的參數值修改為更大的值。詳情請參見修改最大串連數

  4. 如果上述方法不能解決問題,您還可以嘗試以下方法: