不是要?jiǎng)h掉一些連接
成都創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站與策劃設(shè)計(jì),達(dá)孜網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:達(dá)孜等地區(qū)。達(dá)孜做網(wǎng)站價(jià)格咨詢:028-86922220
而是要將最大連接數(shù)設(shè)置的小一些 起到保護(hù)后端服務(wù)器的作用
查看當(dāng)前最大連接數(shù):
show variables like '%max_connections%';
修改最大連接數(shù)應(yīng)該編輯 my.cnf 文件里面的 max_connections 值
改完之后需要重啟才能生效
錯(cuò)誤“Too many connections”。平常碰到這個(gè)問(wèn)題,我基本上是修改/etc/my.cnf的max_connections參數(shù),然后重啟數(shù)據(jù)庫(kù)。但
是生產(chǎn)服務(wù)器上數(shù)據(jù)庫(kù)又不能隨便重啟。
沒(méi)辦法,只好想辦法手動(dòng)去釋放一些沒(méi)用的連接。
登陸到MySQL的提示符下,數(shù)據(jù)show processlist這個(gè)命令,可以得到所以連接到這個(gè)服務(wù)器上的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數(shù)據(jù)連接列表,而且每一個(gè)都會(huì)有一個(gè)進(jìn)程ID號(hào)(在上表的第一列)。我們只要輸入這樣的命令:
mysql kill 1180421;
Query OK, 0 rows affected (0.00 sec)
mysql
其中1180421為你在進(jìn)程列表里找到并且要?dú)⒌舻倪M(jìn)程號(hào)。
產(chǎn)生這種問(wèn)題的原因是:
連接數(shù)超過(guò)了 MySQL 設(shè)置的值,與 max_connections 和 wait_timeout 都有關(guān)系。wait_timeout 的值越大,連接的空閑等待就越長(zhǎng),這樣就會(huì)造成當(dāng)前連接數(shù)越大。
解決方法:
修改MySQL配置文件/etc/my.cnf,設(shè)置成max_connections=1000,wait_timeout=5。如果沒(méi)有此項(xiàng)設(shè)置可以自行添加,修改后重啟MySQL服務(wù)即可。要不經(jīng)常性報(bào)此錯(cuò)誤,則要對(duì)服務(wù)器作整體性能優(yōu)化
注:
為了防止發(fā)生too many connections時(shí)候無(wú)法登錄的問(wèn)題,mysql manual有如下的說(shuō)明:
mysqld actually allows max_connections+1 clients to connect. The extra connection is reserved for use by accounts that have the SUPER privilege. By granting the SUPER privilege to administrators and not to normal users (who should not need it), an administrator can connect to the server and use SHOW PROCESSLIST to diagnose problems even if the maximum number of unprivileged clients are connected.
因此, 必須只賦予root用戶的SUPER權(quán)限,同時(shí)所有數(shù)據(jù)庫(kù)連接的帳戶不能賦予SUPER權(quán)限。前面說(shuō)到的報(bào)錯(cuò)后無(wú)法登錄就是由于我們的應(yīng)用程序直接配置的root用戶
總結(jié),解決問(wèn)題的最終方法:
1.修改配置文件/etc/my.cnf,調(diào)整連接參數(shù)
2.檢查程序代碼,對(duì)于沒(méi)有關(guān)閉的鏈接及時(shí)進(jìn)行關(guān)閉
在“開(kāi)始”-》”運(yùn)行“-》”regedit“ 進(jìn)入注冊(cè)表。然后就是ctrl+F查找mysql(將里面的”值“和”數(shù)據(jù)“去掉,否則刪掉了一些不必要?jiǎng)h除的項(xiàng),我就是嘗到苦果)。一個(gè)一個(gè)查找刪除就能將那個(gè)難刪除的東西刪掉了,再裝就沒(méi)問(wèn)題了。
1,mysql進(jìn)入命令行后
2,show processlist 查看當(dāng)前連接,會(huì)有數(shù)字sql進(jìn)程號(hào)
3,mysql kill 進(jìn)程號(hào)。即可
當(dāng)前文章:怎么清除mysql連接,怎么移除mysql
URL標(biāo)題:http://vcdvsql.cn/article46/dsieshg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、響應(yīng)式網(wǎng)站、全網(wǎng)營(yíng)銷推廣、網(wǎng)頁(yè)設(shè)計(jì)公司、外貿(mào)網(wǎng)站建設(shè)、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)