自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

MySQL連接數(shù)管理

數(shù)據(jù)庫 MySQL
MySQL 連接狀態(tài)是數(shù)據(jù)庫中比較重要的一個指標,比如說目前總共有多少個連接、各連接處于什么狀態(tài)等等,這些連接狀態(tài)也能從側(cè)面反映出數(shù)據(jù)庫當前運行狀況。

 [[408872]]

本文轉(zhuǎn)載自微信公眾號「MySQL技術(shù)」,作者MySQL技術(shù)。轉(zhuǎn)載本文請聯(lián)系MySQL技術(shù)公眾號。

前言:

MySQL 連接狀態(tài)是數(shù)據(jù)庫中比較重要的一個指標,比如說目前總共有多少個連接、各連接處于什么狀態(tài)等等,這些連接狀態(tài)也能從側(cè)面反映出數(shù)據(jù)庫當前運行狀況。本篇文章我們一起來學習下 MySQL 連接相關(guān)內(nèi)容。

1.connection相關(guān)參數(shù)

先來看下 connection 相關(guān)參數(shù),只有參數(shù)設置合理了,數(shù)據(jù)庫才能跑得更好。

  1. max_connections:最大連接數(shù),默認為 151 ,可動態(tài)修改。
  2. max_connect_errors:當同一個客戶端連接出錯的次數(shù)達到 max_connect_errors 時,服務器將阻止該主機進行再次連接。默認為 100 ,可動態(tài)修改。
  3. max_user_connections:對于單個數(shù)據(jù)庫用戶允許的最大同時連接數(shù)。默認為 0 ,即表示無限制,可動態(tài)修改。
  4. connect_timeout:等待一個連接響應的時間,默認為 10s ,在獲取連接階段起作用,可動態(tài)修改。

以 max_connections 參數(shù)為例,來看下具體參數(shù)如何查看及修改:

  1. # 查看相關(guān)參數(shù) 
  2. mysql> show variables like 'max_connections'
  3. +-----------------+-------+ 
  4. | Variable_name   | Value | 
  5. +-----------------+-------+ 
  6. | max_connections | 151   | 
  7. +-----------------+-------+ 
  8.  
  9. # 修改參數(shù) (my.cnf配置文件中也要修改) 
  10. mysql> set global max_connections = 500; 
  11. Query OK, 0 rows affected (0.79 sec) 
  12.  
  13. mysql> show variables like 'max_connections'
  14. +-----------------+-------+ 
  15. | Variable_name   | Value | 
  16. +-----------------+-------+ 
  17. | max_connections | 500   | 
  18. +-----------------+-------+ 

2.幾個常見連接錯誤

若 connection 相關(guān)參數(shù)設置不當,到達一定瓶頸時可能會出現(xiàn)連接錯誤的問題,下面列舉下幾種常見的連接錯誤及解決方法。

出現(xiàn)頻繁最高的可能就是 Too many connections 錯誤了,這個錯誤發(fā)生的原因是當前數(shù)據(jù)庫的總連接數(shù)已經(jīng)達到了 max_connections 數(shù)值,當再有客戶端嘗試連接時及會報此錯誤。MySQL 實際上允許 max_connections + 1 個客戶端連接,額外一個連接供具有 SUPER 特權(quán)的用戶使用。當發(fā)生 Too many connections 錯誤時,我看可以用 root 賬號登錄數(shù)據(jù)庫,然后增大 max_connections 參數(shù)即可。其實設置適當?shù)?max_connections 即可避免此類錯誤再次發(fā)生,默認的 151 顯然有點小,我們可以監(jiān)控下數(shù)據(jù)庫連接總數(shù),根據(jù)不同環(huán)境做出調(diào)整,比如設為 500 或 1000,當然也不能設置過大。

若出現(xiàn) Host is blocked because of many connection errors 錯誤時,那就是某臺主機連接錯誤達到 max_connect_errors 參數(shù)規(guī)定的上限了。解決這個錯誤有兩種方案,一個是進入 MySQL 命令行執(zhí)行 flush hosts 命令來刷新 host ,一個是增大 max_connect_errors 參數(shù)值。個人建議可以將 max_connect_errors 參數(shù)調(diào)大些,比如 1000 或 2000 。

對于 max_user_connections 參數(shù),一般采用默認 0 值即可,若想要限制單個用戶的最大連接數(shù),也可以設置下此參數(shù),比如 max_user_connections = 100 代表單個用戶最多同時發(fā)起 100 個連接。

如果客戶端經(jīng)常遇到 Lost connection to MySQL server at 'XXX' 錯誤,那就要考慮增大 connect_timeout 值了,默認值 10s 對于網(wǎng)絡良好的情況下是夠用的,如果客戶端和服務端網(wǎng)絡有延遲的情況,可以將 connect_timeout 參數(shù)調(diào)大來避免發(fā)生連接超時的錯誤。

總結(jié):

本篇文章介紹了 MySQL connection 相關(guān)內(nèi)容,要記住一個穩(wěn)定的數(shù)據(jù)庫,連接總數(shù)一般是相對穩(wěn)定的,若數(shù)據(jù)庫連接狀態(tài)波動很大,那要排查下是不是程序端或數(shù)據(jù)庫端有做過變更。

 

責任編輯:武曉燕 來源: MySQL技術(shù)
相關(guān)推薦

2010-05-19 16:10:49

MySQL連接數(shù)

2010-05-31 18:41:10

MySQL連接數(shù)

2010-06-13 17:29:10

MySQL連接數(shù)

2019-10-08 13:21:15

MySQL連接數(shù)數(shù)據(jù)庫

2010-05-12 16:02:04

MySQL連接數(shù)

2010-05-20 14:04:11

2011-04-07 14:17:56

2010-11-08 14:40:46

SQL Server連

2012-05-04 08:03:21

Windows

2010-05-17 11:38:15

2010-05-31 19:42:00

Ubuntu

2010-04-23 16:26:30

Oracle并發(fā)連接數(shù)

2010-05-31 19:26:02

Ubuntu mrtg

2011-07-22 16:26:50

SDE最大連接數(shù)

2010-10-11 13:29:53

MYSQL最大連接數(shù)

2010-10-14 15:00:25

MySQL服務器

2010-04-26 15:00:32

Oracle當前連接數(shù)

2018-04-27 10:35:08

Tomcat連接數(shù)線程池

2023-01-31 19:54:59

MQTT物聯(lián)網(wǎng)

2011-05-12 14:50:03

點贊
收藏

51CTO技術(shù)棧公眾號