91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL中too many connections問題解決

發布時間:2020-07-08 17:37:14 來源:網絡 閱讀:1170 作者:MySQL_晨曦 欄目:MySQL數據庫

今天我的MySQL遇到一個不算太陌生的錯誤“Too many connections”。平常碰到這個問題,我基本上是修改/etc/my.cnf


max_connections參數,然后重啟數據庫。但

是生產服務器上數據庫又不能隨便重啟。


沒辦法,只好想辦法手動去釋放一些沒用的連接。


登陸到MySQL的提示符下,數據show processlist這個命令,可以得到所以連接到這個服務器上的MySQL連接:

mysql> show  processlist;

+---------+------+---------------------+---------+---------+------+-------+-------------------+-------------------------+
| Id      | User | Host                | db      | Command | Time | State | Info                 |
+---------+------+---------------------+---------+---------+------+-------+-------------------+-------------------------+
| 1180421 | ur   |202.103.96.68:49754 | test1   |Sleep   |    1 |      | NULL                 |
| 1180427 | ur   |202.103.96.68:55079 | test2   |Sleep   |    1 |      | NULL                 |
| 1180429 | ur   |202.103.96.68:55187 | testdba | Sleep  |    0 |       | NULL                 |
| 1180431 | ur   |202.103.96.68:55704 | testdba | Sleep  |    0 |       | NULL                  |
| 1180437 | ur   |202.103.96.68:32825 | test1   |Sleep   |    1 |      | NULL                 |
| 1180469 | ur   |202.103.96.68:58073 | testdba | Sleep  |    0 |       | NULL                  |
| 1180472 | ur   |83.136.93.131:47613 | test2   |Sleep   |    8 |      | NULL                  |
| 1180475 | root | localhost          | NULL    | Query   |    0| NULL  | show  PROCESSLIST |
+---------+------+---------------------+---------+---------+------+-------+-------------------+---------------------------+
8 rows in set (0.00 sec)
mysql>


然后,你可以看到像上面這樣的MySQL數據連接列表,而且每一個都會有一個進程ID號(在上表的第一列)。我們只要輸入這樣的命令:

mysql> kill 1180421;
Query OK, 0 rows affected (0.00 sec)
 
mysql>

其中1180421為你在進程列表里找到并且要殺掉的進程號。

產生這種問題的原因是:

連接數超過了MySQL設置的值,與max_connections和wait_timeout都有關系。Wait_timeout的值越大,連接的空閑等待就越長,這樣就會造成當前連接數越大。

解決方法:

修改MySQL參數文件my.cnf,設置成max_connections=1000,wait_timeout=5,如果沒有此項可以自行添加,修改會重啟MySQL服務即可,要不經常性報此錯誤,則要對服務器做整體性能優化

注:

為了防止發生too many connections時候無法登錄的問題,mysql manual有如下的說明:

mysqld actually allows max_connections+1 clients to connect. The extra connection isreserved for use by accounts that have the SUPER privilege. By granting the SUPER privilege to administrators and not tonormal users (who should not need it), an administrator can connect to theserver and use SHOW PROCESSLIST to diagnose problems even if the maximum number ofunprivileged clients are connected.



因此, 必須只賦予root用戶的SUPER權限,同時所有數據庫連接的帳戶不能賦予SUPER權限。前面說到的報錯后無法登錄就是由于我們的應用程序直接配置的root用戶

 

總結,解決問題的最終方法:

1.修改參數文件my.cnf,調整連接參數

2.檢查程序代碼,對于沒有關閉的鏈接及時進行關閉


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

洛宁县| 宁波市| 杭锦旗| 正镶白旗| 玉林市| 景泰县| 星子县| 土默特左旗| 灌云县| 库伦旗| 美姑县| 天长市| 汾西县| 罗田县| 塔城市| 巴彦淖尔市| 威信县| 西平县| 治多县| 平陆县| 商河县| 南溪县| 如东县| 依安县| 桓台县| 周宁县| 泰安市| 黎川县| 洞口县| 海宁市| 唐山市| 竹北市| 潮州市| 宁海县| 甘德县| 澄江县| 石门县| 无极县| 平南县| 崇文区| 比如县|