程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Access數據庫 >> 關於Access數據庫 >> MySQL數據庫頻繁連接失敗的主要原因

MySQL數據庫頻繁連接失敗的主要原因

編輯:關於Access數據庫
連接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的時候自動使用管道連接本機,不會出現連接問題。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved