首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL max_connections 與 max_user_connections 區別詳解:全局 vs 單用戶連接限制

     編輯:MySQL 資料庫相關知識

參數對比

參數作用域默認值含義
max_connections全局(整個實例)151服務器允許的最大同時連接數
max_user_connections**單用戶**(每個賬戶)0(無限制)同一用戶允許的最大同時連接數

動態修改與驗證

-- 查看
SHOW VARIABLES LIKE 'max_user_connections';

-- 設置全局限制單用戶連接數 = 1
SET GLOBAL max_user_connections = 1;

-- 再開新連接測試
mysql -u root -p
ERROR 1203 (42000): User root already has more than 'max_user_connections' active connections

修改即時生效,重啟失效,**持久化需寫入 my.cnf**。

單用戶精細限制(mysql.user 表列)

若需針對**特定用戶**限制,而非全局統一,可在 mysql.user 表設置:

列名含義
max_questions每小時最大查詢次數
max_updates每小時最大更新次數
max_connections每小時最大連接次數(非同時)
max_user_connections同時連接數(同全局參數,但用戶級)
GRANT USAGE ON *.* TO 'app_user'@'%' 
WITH MAX_QUERIES_PER_HOUR 1000
     MAX_UPDATES_PER_HOUR 100
     MAX_CONNECTIONS_PER_HOUR 50
     MAX_USER_CONNECTIONS 5;

總結

  • max_connections 守**服務器總大門**。
  • max_user_connections 守**單用戶小門**。
  • 用戶級列守**單用戶資源配額**(每小時速率 + 同時連接)。
  • 三層防護結合,防止單一失控用戶拖垮整庫。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved