>  기사  >  데이터 베이스  >  为何连接 MySQL 数据库失败频繁

为何连接 MySQL 数据库失败频繁

WBOY
WBOY원래의
2016-06-07 16:20:13844검색

连接mySQL数据库失败频繁,主要是什么原因造成的? 一年前,我开发了一个网站,租用的是linux下PHP+mySQL的虚拟空间,之前一直工作正常。 近半年来,却频繁出现连接数据库失败错误(一周1~2次),需要找空间商重启mysql服务才行: Warning: mysql_connect(): Ca

   连接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的时候自动使用管道连接本机,不会出现连接问题。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.