今天就跟大家聊聊有關(guān)解決MySQL錯(cuò)誤Too many connections的方法是什么,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
臨潼ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書(shū)銷(xiāo)售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話(huà)聯(lián)系或者加微信:13518219792(備注:SSL證書(shū)合作)期待與您的合作!
MySQL數(shù)據(jù)庫(kù) Too many connections
出現(xiàn)這種錯(cuò)誤明顯就是 mysql_connect 之后忘記 mysql_close;
當(dāng)大量的connect之后,就會(huì)出現(xiàn)Too many connections的錯(cuò)誤,mysql默認(rèn)的連接為100個(gè),而什么情況下會(huì)出現(xiàn)這種錯(cuò)誤呢?
正常的mysql_connect 之后調(diào)用 mysql_close()關(guān)閉連接
但在連接錯(cuò)誤時(shí),會(huì)者mysql_real_query()出現(xiàn)錯(cuò)誤退出時(shí),可能忘記mysql_close();
所以在程序return 之前一定要判斷是否close(),最穩(wěn)妥的方法就是在寫(xiě)任何函數(shù)時(shí)都只有一個(gè)出口!
還有可以通過(guò)修改mysql配置文件來(lái)加大允許連接的數(shù)量!
有時(shí)你的服務(wù)器是經(jīng)常出現(xiàn)這樣的錯(cuò)誤呢:
錯(cuò)誤信息如下:
Can not connect to MySQL server Error: Too many connections Errno.: 1040 Similar error report has beed dispatched to administrator before.
從官方文檔知道Linux上面編譯安裝的mysql默認(rèn)的連接為100個(gè)
文檔:http://dev.mysql.com/doc/refman/5.0/en/too-many-connections.html
mysql官方告訴我們需要修改max_connections的值,那么我們?cè)趺慈バ薷哪??有兩種方法
1、修改配置文件文件
修改/etc/my.cnf這個(gè)文件,在[mysqld] 中新增max_connections=N,如果你沒(méi)有這個(gè)文件請(qǐng)從編譯源碼中的support-files文件夾中復(fù)制你所需要的*.cnf文件為到 /etc/my.cnf。我使用的是my-medium.cnf,中型服務(wù)器配置。例如我的[mysqld]的內(nèi)容如下:
[mysqld] port = 3306 socket = /tmp/mysql.sock skip-locking key_buffer = 160M max_allowed_packet = 1M table_cache = 64 sort_buffer_size = 512K net_buffer_length = 8K read_buffer_size = 256K read_rnd_buffer_size = 512K myisam_sort_buffer_size = 8M max_connections=1000
由于對(duì)mysql還不是很熟悉,所以很多參數(shù)沒(méi)有修改。哈哈。。
2、非使用mysqld腳本自動(dòng)啟動(dòng)的用戶(hù)。
修改MYSQLHOME/bin/mysqldsafe文件例如:/usr/local/mysql/bin/mysqldsafe這個(gè)文件grep−n‘maxconnection′
MYSQLHOME/bin/mysqldsafe文件例如:/usr/local/mysql/bin/mysqldsafe這個(gè)文件grep−n‘maxconnection′MYSQL_HOME/bin/mysqld_safe
修改對(duì)應(yīng)行號(hào)的max_connections參數(shù)值
3、服務(wù)器登錄mysql : mysql -u root -p
百分之九十進(jìn)不去,進(jìn)不去的執(zhí)行重啟命令 :/etc/init.d/mysql restart(centos系統(tǒng))
此時(shí)重啟mysql就能連接mysql了,如果還有時(shí)間,可以繼續(xù)下一步,治病要治本
打開(kāi)配置文件 添加一下配置 vi /etc/my.cnf
wait_timeout = 600 interactive_timeout = 600
再次重啟mysql即可
原理解答
mysql 默認(rèn)100 連接數(shù),超過(guò)則連不上,實(shí)際工作的連接數(shù)遠(yuǎn)遠(yuǎn)沒(méi)有100,大部分在sleep
所以要么增大連接數(shù),要么殺掉無(wú)用連接,推薦后者。
看完上述內(nèi)容,你們對(duì)解決MySQL錯(cuò)誤Too many connections的方法是什么有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。
新聞標(biāo)題:解決MySQL錯(cuò)誤Toomanyconnections的方法是什么
URL分享:http://aaarwkj.com/article48/gjdhep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁(yè)設(shè)計(jì)公司、自適應(yīng)網(wǎng)站、電子商務(wù)、軟件開(kāi)發(fā)、定制開(kāi)發(fā)、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
營(yíng)銷(xiāo)型網(wǎng)站建設(shè)知識(shí)