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

MYSQL
Windows 2003搭建Apache PHP MySQL环境经验分享
PHP环境配置IIS5.0+PHP5.23+MYSQL5+phpMyAdmin
详解用phpmyadmin建立MYSQL数据库的过程
几条常见的数据库分页 SQL 语句
将MySQL数据导入到Sql Server中
解决MySQL数据库中文模糊检索问题
MySQL索引分析和优化
提高MySQL查询效率的三个有效的尝试
MySQL查询不含周末的五天前的日期
连接MySQL数据库失败频繁的原因分析
SQL Server和MySQL的安全性分析
Linux搭建Discuz论坛的方法
如何保护MySQL中的重要数据
怎样把你的 MySQL 完全中文化
FreeBSD 6.2快速架设网站服务器教程
Oracle限制返回结果集的大小
MySQL中与浮点比较有关问题的解决
distinct在mysql中查询多条不重复记录值的解决办法
全面提升Linux服务器的安全
不能通过mysql.sock连接MySQL问题的方法

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 119 ::
收藏到网摘: 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的时候自动使用管道连接本机,不会出现连接问题。