mysql:解決too many connections 連接數過多問題

在這裏插入圖片描述
今天做併發測試,導致數據庫連接數過多,無法正常使用!

解決辦法:
1.查詢連接(可能查詢不了,要先關閉幾張表或者關掉一些進程)
– 當前連接進程數
show full processlist ;

2.把要關閉的連接寫入一個文件kill_6.txt,注意路徑必須是指定的目錄;

select concat(‘KILL ‘,id,’;’) from information_schema.processlist where user=‘root’ into outfile ‘/var/lib/mysql-files/kill_6.txt’;

補充:執行show variables like ‘%secure%’;若secure_file_priv =null 則無法寫入,secure_file_priv 有一個路徑,則可將文件寫入。
在這裏插入圖片描述
3.登陸mysql命令行,執行:source /var/lib/mysql-files/kill_6.txt;(需要確保此路徑下面存在文件kill_6.txt);
在這裏插入圖片描述

其它方法:
1.設置最大連接數(max_connections ),默認是100;
2.設置連接數過期時間(wait_timeout ),不能太短,也不能過長;
3.程序裏及時關閉連接;

my.cnf文件修改字段,如下:
#MySQL 服務所允許的同時會話數的上限,其中一個連接將被SUPER權限保留作爲管理員登錄。 即便已經達到了連接數的上限.
max_connections = 200

#指定一個請求的最大連接時間。
wait_timeout = 30

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章