MySQL連線數,最大併發數設定

2021-10-19 22:35:42 字數 1823 閱讀 8118

專案中可能會遇到mysql: error 1040: too many connections的異常情況,造成這種情況的一種原因是訪問量過高,mysql伺服器抗不住,這個時候就要考慮增加從伺服器分散讀壓力;另一種原因就是mysql配置檔案中max_connections值過小。

1.mysql的最大連線數

2.如果伺服器的併發連線請求量比較大,建議調高此值,以增加並行連線數量,當然這建立在機器能支撐的情況下,因為如果連線數越多,介於mysql會為每個連線提供連線緩衝區,就會開銷越多的記憶體,所以要適當調整該值,不能盲目提高設值。

數值過小會經常出現error 1040: too many connections錯誤

可以通過配符檢視當前狀態的連線數量,以定奪該值的大小

show global status like 『max_used_connections』;

以看到伺服器響應的最大連線數為154,遠遠低於mysql伺服器允許的最大連線數值。

對於mysql伺服器最大連線數值的設定範圍比較理想的是:伺服器響應的最大連線數值佔伺服器上限連線數值的比例值在10%以上,如果在10%以下,說明mysql伺服器最大連線上限值設定過高.

max_used_connections / max_connections * 100% = 3/512 *100% ≈ 0.0058%

max_used_connections / max_connections * 100% (理想值≈ 85%)

如果max_used_connections跟max_connections相同 那麼就是max_connections設定過低或者超過伺服器負載上限了,低於10%則設定過大。

mysql的max_connections引數用來設定最大連線(使用者)數。每個連線mysql的使用者均算作乙個連線。

mysql無論如何都會保留乙個用於管理員(super)登入的連線,用於管理員連線資料庫進行維護操作,即使當前連線數已經達到了max_connections。因此mysql的實際最大可連線數為max_connections+1;

這個引數實際起作用的最大值(實際最大可連線數)為16384,即該引數最大值不能超過16384,即使超過也以16384為準;

增加max_connections引數的值,不會占用太多系統資源。系統資源(cpu、記憶體)的占用主要取決於查詢的密度、效率等;

3.設定這個最大連線數值【方法1】

注:這種 方式在mysql重啟後就失效。

4.設定這個最大連線數值【方法2】

修改mysql配置檔案my.cnf,在[mysqld]段中新增或修改max_connections值:

max_connections=512

注:需要重啟mysql服務。

總結:該引數在伺服器資源夠用的情況下應該盡量設定大,以滿足多個客戶端同時連線的需求。否則將會出現類似」too many connections」的錯誤。

mysql最大併發連線數設定

mysql 預設的最大併發連線為100,預設的連線數無法滿足大量client 連線的請求.但是可以通過以下方式改變,使用root使用者登入mysql 系統 引用 mysql show variables like max connections variable name value max con...

Mysql 檢視連線數,狀態 最大併發數

show status like max connections mysql最大連線數 set global max connections 1000 重新設定 show variables like max connections 查詢資料庫當前設定的最大連線數 show global statu...

Mysql 檢視連線數,狀態 最大併發數

show status like max connections mysql最大連線數 set global max connections 1000 重新設定 show variables like max connections 查詢資料庫當前設定的最大連線數 show global statu...