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

MySQL 預設最大連接數 100 如何調大?三種修改 max_connections 的實作教學

     編輯:MySQL 資料庫相關知識

MySQL 安裝完成後,預設的最大連接數 max_connections 僅為 100。對於流量稍大的論壇或網站而言,這個數值遠遠不夠,極易導致「Too many connections」錯誤。本文整理三種調大連接數的方法,分別適用於不同場景與權限。

方法一:修改設定檔(永久生效,需重啟服務)

這是最標準、最推薦的做法,修改後永久生效。

  1. 進入 MySQL 安裝目錄,找到設定檔 my.ini(Windows)或 my.cnf(Linux)。
  2. 搜尋 max_connections=100。
  3. 將數值修改為所需大小,例如 max_connections=1000。
  4. 儲存檔案,並在服務管理中重啟 MySQL 服務即可生效。

方法二:命令列動態修改(即時生效,重啟後失效)

適合臨時應急,不想重啟服務時使用。注意:此修改僅在當前 MySQL 執行週期內有效,重啟後會恢復設定檔數值。

  1. 以具備權限的帳號登入 MySQL 客戶端:
    mysql -u username -p
  2. 執行全域變數設定指令:
    SET GLOBAL max_connections = 200;
  3. 驗證是否生效:
    SHOW VARIABLES LIKE 'max_connections';

輔助指令:
SHOW PROCESSLIST; 查看當前連線執行緒
SHOW STATUS; 查看伺服器狀態資訊
mysqladmin -u username -p variables 在命令列直接查看變數值

方法三:修改啟動腳本或原始碼(特殊編譯環境適用)

針對手工編譯安裝(如 CentOS 4.4 + MySQL 5.0.33)的舊版本環境,若無法透過設定檔生效,可嘗試以下進階手段:

3.1 修改 mysqld_safe 啟動腳本

  1. 編輯 /usr/local/mysql/bin/mysqld_safe。
  2. 找到 mysqld 啟動的兩行命令(通常在 then 與 else 區塊)。
  3. 在啟動參數後追加 -O max_connections=1500。
  4. 儲存並執行 service mysqld restart 重啟服務。
  5. 用 mysqladmin -uroot -p variables 驗證 max_connections 是否為 1500。

3.2 修改原始碼重新編譯(徹底但維護成本高)

  1. 解壓 MySQL 原始碼,進入 sql 目錄編輯 mysqld.cc。
  2. 搜尋 "max_connections" 定義處,將預設值 100 改為目標值(如 1500)。
  3. 重新執行 configure、make、make install 完成編譯安裝。

建議與注意事項

  • 優先使用方法一,配合 my.cnf 管理,版本升級、遷移皆可保留設定。
  • 單純調大連接數會增加記憶體消耗(每連線約需 256KB~2MB),請依據伺服器實體記憶體評估上限,避免 OOM。
  • 若連線數長期飆高,應檢查應用端是否使用連線池、是否存在連線洩漏、或是否需架設讀寫分離/分庫分表架構。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved