当前位置: 首页 > 图文教程 > 数据库 > MYSQL > 连接 MySQL 数据库失败频繁的原因探秘

MYSQL
资深网管教你一步步安装MYSQL数据库
在MySql中添加远程超级用户
如何实现MySQL表数据随机读取
MySQL多表操作和备份处理
教你编写高性能的mysql语法
mysql的字符串函数
MySQL 4.1 字符集支持的原理
数据库连接过多的错误,可能的原因分析及解决办法
mysql中的数据编码
MySQL 4.1x 中文乱码问题
从SQL server数据库导入Mysql数据库的体验
PEAR MDB 数据库抽象层 : 一次编写—随处运行
安装并使用phpMyAdmin管理MySQL数据库
解决phpMyAdmin2.6以上版本数据乱码问题
用ISAPI_Rewrite实现反向代理(ReverseProxy)
Mysql 数据库的导入与导出
如何使用MYSQL数据库进行备份数据恢复
MySQL数据库的多表操作和备份处理
一个简便的MySql数据库备份的方法
MySQL安全的二十三条军规

MYSQL 中的 连接 MySQL 数据库失败频繁的原因探秘


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 68 ::
收藏到网摘: n/a

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