萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> 為何連接 MySQL 數據庫失敗頻繁

為何連接 MySQL 數據庫失敗頻繁

   連接mySQL數據庫失敗頻繁,主要是什麼原因造成的? 一年前,我開發了一個網站,租用的是linux下PHP+mySQL的虛擬空間,之前一直工作正常。

  近半年來,卻頻繁出現連接數據庫失敗錯誤(一周1~2次),需要找空間商重啟mysql服務才行:

  Warning: mysql_connect(): Can 't connect to MySQL server on 'xx.xx.xx.xx ' (4) in /www/users/1b2g.com/xxxx.php on line xxxx

  找空間商投訴,空間商說是我自己的問題,說同主機的其他網站沒有類似問題。

  在網上搜索,似乎有些網友說,操作數據庫不能用mysql_connect()和mysql_close()開關。照文中指示,將mysql_connect()改成了mysql_pconnect(),似乎正常了半個月時間。但是這半個月恰好因為百度調整,我的網站流量下降了。這2天,流量恢復,問題再度出現,而且不再是1周1~2,是天天出現:

  Warning: mysql_pconnect(): Can 't connect to MySQL server on 'xx.xx.xx.xx ' (4) in /www/users/1b2g.com/xxxx.php on line xxxx

  特別是今天,重啟了也沒用,又壞了,又聯系不到客服,急死了。

  請大家幫忙找找,到底是啥原因?是否和流量大小相關?應該怎麼解決,謝謝!

  回答:對於這個疑問,當時有人提出建議:優化一下程序,每頁不要有過多的查詢. 特別是循環體裡面,盡量不要再有查詢,否則很容易堵塞。應該考慮使用連接池

  但是提問者又出現了問題:我已經盡可能減少每個頁面的數據庫連接數了。

  曾經最開始的時候有個頁面的連接數是比較多(因為開始為了代碼復用,用了iframe嵌套),後來經優化最多的1個頁面已經減到4個;其他一般1~2個。

  昨天我已經把所有頁面的連接數都降到2個以下,用戶訪問最多的頁面(占訪問總量的80%)只有1個連接。

  但是今天中午問題又出現了。

  從現象來看, 'xx.xx.xx.xx '應該你是用了域名或者IP作為host名,這樣一旦DNS或者網關出問題,就會連不上本機端口,建議你使用localhost作為host名。localhost還會在不支持socket的時候自動使用管道連接本機,不會出現連接問題。

copyright © 萬盛學電腦網 all rights reserved