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洞察和審計功能計費詳情。
開啟步驟
訪問RDS實例列表,在上方選擇地域,然后單擊目標實例ID。
在左側導航欄中,選擇 。
開通SQL洞察和審計。
會話管理
使用會話管理功能,可直觀地查看實例當前的全部會話、活躍會話和異常會話,并展示實例被訪問的用戶、主機、執行時間和狀態等。詳情請參見會話管理。
開啟步驟
訪問RDS實例列表,在上方選擇地域,然后單擊目標實例ID。
在左側導航欄中,選擇自治服務>一鍵診斷。
單擊一鍵診斷頁簽。
在一鍵診斷頁面,選擇會話管理,可查看當前實例會話的用戶、主機、執行時間和狀態等。
通過SQL命令查看
數據庫連接已滿,無法支持新會話連接,導致SQL不能執行。如有歷史保留的DMS會話,可執行SQL查看。
用戶可以通過ECS訪問數據庫或登錄DMS去操作數據庫,執行以下SQL命令查看當前執行慢的線程,針對比較慢的線程進行處理。更多信息請參見:
SHOW PROCESSLIST;
返回結果Host列為訪問來源的IP地址。
解決方案
查看數據庫實例會話連接詳情。
查看數據庫實例的max_user_connections配置。
您可以通過以下兩種方式查看max_user_connections參數值:
在RDS控制臺查看:
訪問RDS實例列表,在上方選擇地域,然后單擊目標實例ID。
在左側導航欄中,單擊參數設置。
在可修改參數頁簽中查看max_user_connections參數值。
登錄RDS MySQL數據庫,執行如下命令查看max_user_connections的參數值。
show variables like 'max_user_connections';
在確認內存資源充足的情況下,將max_user_connections的參數值修改為更大的值。詳情請參見修改最大連接數。
如果上述方法不能解決問題,您還可以嘗試以下方法:
優化數據庫實例的連接問題,詳情請參見如何處理RDS MySQL連接數被打滿的情況。
重啟數據庫實例釋來放連接,詳情請參見重啟實例。