Mysql鏈接數過多、Mysql鏈接錯誤過多的問題處理

在使用Mysql的過程當中,你老是會遇到這樣那樣的問題,每次去網上查找也相對比較麻煩,因此在此整理一下(以linux ubantu16 系統爲例)。html

=====================================================================前端

安利一下個人開源項目 前端監控系統
mysql

=====================================================================linux

1. mysql 鏈接數太多(SequelizeConnectionError: Too many connections)web

這個就是最多見的問題了。由於我作的這個是前端監控系統,日誌上報量比較大,因此常常會遇到鏈接數不夠用的狀況。 除了你要使用其餘技術來緩解併發量,還須要適當的設置mysql數據庫的最大鏈接數。那麼怎麼增長mysql的最大鏈接數呢,設置多大爲合適呢,這又是一個比較麻煩的問題了。下邊是個人一些淺見,僅供參考。sql

首先咱們須要登陸mysql, 進入mysql的命令行:數據庫

查看當前mysql的鏈接數:服務器

mysql> show global status like 'Max_used_connections';
+----------------------+-------+
| Variable_name        | Value |
+----------------------+-------+
| Max_used_connections | 403   |
+----------------------+-------+
1 row in set (0.00 sec)

如何設置mysql的最大鏈接數呢?併發

第一種方法:經過mysql命令設置(這種方法是臨時性的,重啓mysql之後就會失效)阿里雲

mysql> set GLOBAL max_connections=2000;
Query OK, 0 rows affected (0.00 sec)

第二種方法:進入mysql目錄(/usr/local/mysql)找到my.cnf文件,添加以下配置(注意:最大鏈接數不要設置過大,有可能會在啓動的時候爆掉哦),而後執行命令$: service mysql restart 

[mysqld]
max_connections=1000

Mysql的最大鏈接數設置多少合適呢?

對照阿里雲的TCP鏈接數來看一下,阿里雲的TCP鏈接數能夠看出瞬間併發量的多少,而後跟咱們的數據庫鏈接數作個對比。正常狀況下TCP鏈接數爲1K左右的時候,MySQL的鏈接數爲400左右。原本瞬間的併發量能達到9K, 可是我將一部分流量導入到其餘服務器上,因此如今最高的併發量可以達到3.4K。當最大3.4K併發量的時候,有兩臺服務器同時訪問mysql,個人數據庫鏈接數是1153個左右。

 

因此,如何設置mysql最大鏈接數,能夠參考一下個人這個數值。

2. Mysql鏈接錯誤太多(SequelizeConnectionError: Host 'xx.xx.xx.xx' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts')

這個問題並不常見,由於通常mysql的默認值是100。只有當同一個IP對mysql訪問出現100次鏈接錯誤的時候,mysql就會拒絕這個ip的請求訪問。由於個人日誌服務和數據庫是分離的,因此,常常會在量大的時候出現這個問題。

查看鏈接報錯配置:

mysql> show variables like '%max_connect_errors%';
+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| max_connect_errors | 100   |
+--------------------+-------+
1 row in set (0.01 sec)

單個ip鏈接報錯查詢:

select SUM_CONNECT_ERRORS as count from performance_schema.host_cache where ip='xxx.xxx.xxx.xxx'

設置鏈接數報錯最大數量:

mysql> set GLOBAL max_connect_errors=1000;
Query OK, 0 rows affected (0.00 sec)
相關文章
相關標籤/搜索