【Mysql】連線數過多,應急處理方法
一、問題描述
今天突然接到個問題,網頁報錯:503 Service Temporarily Unavailable。經過查詢發現是某個使用者的連線超級多,已經將資料庫連線佔滿。處理方案,即時殺掉堵塞的程式,之後可以擴大max_connections引數。
二、處理方法
1.查詢連線情況
-
root@localhost > show processlist;
-
…...
-
1001 rows in set (0.00 sec)
-
root@localhost > show variables like '%proces%';
- Empty set (0.00 sec)
2.檢查引數
-
root@localhost > show global status like 'Max_used_connections';
-
+----------------------+-------+
-
| Variable_name | Value |
-
+----------------------+-------+
-
| Max_used_connections | 1001 |
-
+----------------------+-------+
- 1 row in set (0.00 sec)
3.透過命令生成殺程式指令碼
- root@localhost > select concat('KILL ',id,';') from information_schema.processlist where user=’sam' into outfile '/tmp/a.txt
指令碼內容如下:
-
+------------------------+
-
| concat('KILL ',id,';') |
-
+------------------------+
-
| KILL 31964612; |
-
| KILL 31964609; |
-
| KILL 31964611; |
-
…...
-
| KILL 31966619; |
-
| KILL 31966620; |
-
+------------------------+
-
991 rows in set (0.02 sec)
- root@localhost >
4.執行上面生成的KILL指令碼
-
root@localhost > source /tmp/a.txt
-
Query OK, 0 rows affected (0.00 sec)
-
Query OK, 0 rows affected (0.00 sec)
- ……
5.檢查連線狀況,恢復正常
- root@localhost > show processlist;
6.修改Max_used_connections引數(注:記得要修改my.cnf檔案,下次重啟動後仍然有效)
-
mysql> set GLOBAL max_connections=2000;
-
Query OK, 0 rows affected (0.00 sec)
-
-
mysql> show variables like '%max_connections%';
-
+-----------------+-------+
-
| Variable_name | Value |
-
+-----------------+-------+
-
| max_connections | 2000 |
-
+-----------------+-------+
- 1 row in set (0.00 sec)
三、總結
Mysql的引數學習之max_connections,一個控制連線數的引數。此問題背後肯定存在著某些問題,不要只是一味地調大引數。後來經過對語句的分析,最終此問題定位為安全部門在做安全測試,導致問題產生。2017年只剩下最後1周了,提前祝大家元旦快樂。Happy every day.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29734436/viewspace-2149288/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL 連線不上 急MySql
- mysql多源複製跳過錯誤處理方法MySql
- windows 處理bat連線本地mysqlWindowsBATMySql
- asp連線Mysql及編碼處理MySql
- linux如何處理多連線請求?Linux
- MySQL連線數過多導致服務無法正常執行MySql
- MySQL sleep連線過多 解決辦法MySql
- nodejs 連線 mysql 查詢事務處理NodeJSMySql
- 資料庫負載急劇提高的應急處理資料庫負載
- 【MySQL】Novicat 連線mysql 報錯1251的問題處理,Novicat12 破解方法MySql
- mysql自動斷開連線的問題處理MySql
- MySQL連線數管理MySql
- mysql最大連線數MySql
- 資料庫負載急劇提高的應急處理(二)資料庫負載
- MySQL儲存過程的異常處理方法MySql儲存過程
- SQL Server 連線常見錯誤及其處理方法SQLServer
- mysql 通過IP連線MySql
- 電腦出故障你別急 應急寶典來處理(轉)
- MYSQL 檢視最大連線數和修改最大連線數MySql
- MySQL 修改最大連線數MySql
- MySql 限制連線程式數MySql線程
- mysql最大連線數修改MySql
- update-alternatives符號連線的層數過多符號
- 使用VB透過RFC連線並處理SAP資料例子
- 通過跳板機連線MySQLMySql
- 處理方塊之間的連線線
- postgresql連線失敗如何處理SQL
- 行連線的處理方式指引
- python中多程式處理資料庫連線的問題Python資料庫
- Mysql安裝過程問題總結及處理方法MySql
- 一次對連線過程進行跟蹤處理連線故障問題的案例
- MySQL 連線相關引數MySql
- 加大MySql的最大連線數MySql
- MYSQL 連線登入過程分析MySql
- 透過Amoeba連線mysql報錯MySql
- Oracle資料庫系統緊急故障處理方法(轉)Oracle資料庫
- sql server連線排序衝突處理SQLServer排序
- SSH 連線緩慢問題處理