CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  PHP

“偶尔”的出现[[[[[[[[[[连接数据库出错]]]]]]]]]]问题,大家可以进来谈谈。

楼主paz(广交天下朋友(ehai369@hotmail.com))2004-09-04 10:53:11 在 Web 开发 / PHP 提问

环境:php4.1.1,apache1.3.23,操作系统xpprofession,数据库mysql  
  我们公司的网站有10多个人在同时对数据库进行操作,8小时工作,但有的时候会不同时的出现数据库连接错误,这种情况是突发性的,有的时候一天出现4,5次,有的时候出现1,2次,重新启动服务器的时候会好一点,不过过段时间就又出现问题了。大家谁碰到过这种情况?是怎么解决的?没碰到过的也说说,有可能是怎么造成的?  
  问题点数:200、回复次数:27Top

1 楼mackyliu(才子-54caizi.com)回复于 2004-09-04 10:58:16 得分 5

不懂,帮你顶。Top

2 楼zltostem(五湖沸人)回复于 2004-09-04 10:58:23 得分 10

1.锁定  
   
  2.权限  
   
  ...  
  Top

3 楼lzkd(浪子快刀)回复于 2004-09-04 10:59:52 得分 30

我有过这种情况,不过,经检查,是公司防火墙的问题.  
  有时候,有的防火墙会把你连到数据库的那个请求挡  
  住,解决的方法是把防范级别降一点下来就没事了.  
   
  不一定符合楼主的情况,供楼主参考.Top

4 楼flyonet(人生如梦【★】梦如人生)回复于 2004-09-04 11:03:54 得分 10

数据库mysql,用的是什么类型的数据表。这种情况发生可能有很多种原因。  
  例如上面说的防火墙,再还有就是同时操作数据库,而对数据库进行的操作没有进行锁定,操作,解锁这三个步骤,。Top

5 楼paz(广交天下朋友(ehai369@hotmail.com))回复于 2004-09-04 11:32:51 得分 0

一会我试一下防火墙的问题,  
  另一个“锁定,操作,解锁”的问题,我一直都没有锁定,可是程序在一个月前从来没出现这种情况,(虽然程序一直在改,但是锁定从来没做过)。Top

6 楼paz(广交天下朋友(ehai369@hotmail.com))回复于 2004-09-04 11:40:45 得分 0

谢谢各位捧场  
  TO:   flyonet(人生如梦【★】梦如人生)   (   )       我用的是MyISAM类型Top

7 楼pwtitle(doodoo)回复于 2004-09-04 11:44:48 得分 20

增加mysql的连接数限制,或者是你的程序中没有释放mysql连线Top

8 楼julise(逆风飞扬)回复于 2004-09-04 16:04:53 得分 5

还没怎么遇到过,观注....Top

9 楼whoami23007432()回复于 2004-09-04 16:29:43 得分 20

小弟也有一些看法,我也只是说一说,交流一下。  
  我想是不是你的服务器的事。我曾经有过这样的经历,一个网络服务器,上网的时候经常吊线,线路也查过了,后来重新装了一遍操作系统就好。  
  Top

10 楼lyqq(曾经是菜,现在还是菜!)回复于 2004-09-04 16:41:41 得分 20

是不是   连接没有释放的问题?    
   
    可能你的   连接数   很少。   但是,当你   测试的时候,没有进行压力测试,然后,一两个连接还可以应付,而且到了使用的时候,由于同时使用的人数不定,所以有的时候很多连接由于超时,所以得到了释放,而有的时候由于   同时在线人数多,但是连接没有得到有效释放,所以,   出现   不定的   连接错误。  
   
  建议:  
      1。     检查程序中连接释放的问题。  
      2。     采用连接池的方式   控制连接。  
   
  总的感觉,和防火墙完全无关,因为防火墙是不会具有突发性事件发生的。防火墙是死的代码。  
  Top

11 楼unixdotnet(byopen)回复于 2004-09-04 16:47:52 得分 5

To   lyqq(曾经是菜,现在还是菜!):  
   
  请问单纯的php怎么实现:采用连接池的方式   控制连接  
   
  Top

12 楼paz(广交天下朋友(ehai369@hotmail.com))回复于 2004-09-04 17:55:04 得分 0

现在焦点就在数据库操作释放这里了,我的程序里每个页都没有连接释放的代码。  
  如果释放,应该怎么写释放代码?  
  如果采用连接池的方式   控制连接,应该怎么写代码?  
  请各位赐教,小弟不才,初学PHP~Top

13 楼lzkd(浪子快刀)回复于 2004-09-04 19:52:11 得分 0

你一个页面结束了,就自动断开链接了..  
  还需要手动断开吗?Top

14 楼raid79(山鹰)回复于 2004-09-05 13:20:03 得分 10

服务器的硬件配置也很重要的Top

15 楼mikespook(CSDN == 吹死大牛)回复于 2004-09-05 13:25:46 得分 10

你是用哪个函数来连接MYSQL的?  
  你最好不要用保持连接型的连接函数~~~Top

16 楼countstars(深空)回复于 2004-09-05 22:10:31 得分 10

可能是连接数过多吧,不要用pconnect好了~多设置一些连接数看看,没做过数据库优化,只说说想法。还有是不是查询太多了?Top

17 楼paz(广交天下朋友(ehai369@hotmail.com))回复于 2004-09-06 08:49:37 得分 0

我用的mysql_connect,这个是短期的吧?需要关闭么?  
  另:页面中的查询确实非常多。  
  有时候我也怀疑是服务器的问题,因为有的时候只有3,4个人在操作数据库,也会出现出错的问题。重起一变就好了。Top

18 楼cuipi2003(脆皮)回复于 2004-09-06 08:57:51 得分 10

会不会是有人没有关闭打开的对象Top

19 楼pswdf(小邪)回复于 2004-09-06 10:35:57 得分 10

1、服务器的方面  
  2、连接方面。  
  3、设置。Top

20 楼lzkd(浪子快刀)回复于 2004-09-06 11:02:56 得分 0

to   lyqq(曾经是菜,现在还是菜!)    
   
  总的感觉,和防火墙完全无关,因为防火墙是不会具有突发性事件发生的。防火墙是死的代码。  
   
   
  -----------------------------------------  
   
  不同意你的观点.  
   
  你有没有试过,连接服务器的时候被防火墙挡过的事,在这种情况下,  
  往往就是有大量的查询和连接在数据库里,这才会被防火墙给挡住.  
  这个特点,不知道是好还是不好.  
  但,有一点是很明确的,所有的服务器上,也许会装一个杀毒软件,但  
  基本不会去装防火墙,就是为了这个原因.  
   
  so   楼主的问题应该是,至少有一部分原因是防火墙的问题Top

21 楼paz(广交天下朋友(ehai369@hotmail.com))回复于 2004-09-06 11:20:28 得分 0

TO:   lzkd(浪子快刀)    
   
      公司的服务器也不知怎么回事,这几天中了木马和病毒,服务器装着瑞星防火墙和瑞星杀毒,如果关掉防火墙的话?不就更容易中木马了么?主管封了很多端口,这个有没有关系?  
   
  很高兴这么多人关注这个帖子,谢谢大家~~  
  Top

22 楼skystar008(疯花血月)回复于 2004-09-06 13:24:47 得分 5

非法操作。Top

23 楼butcher2002(我又出来捣乱了)回复于 2004-09-06 13:44:18 得分 5

你看下csdn总出现的server错误  
   
  你就知足吧。。。。Top

24 楼lzkd(浪子快刀)回复于 2004-09-06 13:44:58 得分 0

to   楼主  
   
      公司的服务器也不知怎么回事,这几天中了木马和病毒,服务器装着瑞星防火墙和瑞星杀毒,如果关掉防火墙的话?不就更容易中木马了么?主管封了很多端口,这个有没有关系?  
   
  ----------------------------------------  
  1   公司的服务器也不知怎么回事,这几天中了木马和病毒  
   
  你公司服务器接着外网?如果不是一定要这么做,建议不要接外网,普通公司的服务器  
  一般不会有较好的保护,而且,因为这些机器是24小时开机,所以最受那些"代码男孩"  
  (即菜鸟黑客-只会用别人写好的工具攻击)的喜欢.  
  所以,如果可能,建议你公司服务器不要挂外网.  
   
  2   如果关掉防火墙的话?不就更容易中木马了么?  
   
  如果非要接外网----请使用正确的方法.  
  A   重新安装系统,并打上所有应该打的补丁(重要)  
  B   加强管理,不允许不相干的人和程序出现在服务器上  
  C   使用硬件防火设备(重要,昂贵)  
  D   在服务器上只装必须装的东西,并将所有不应该装的东西砍掉(尽可能,因为是你公司的东西)  
  E   经常注意你所使用的软件的升级情况,并保证所使用软件的安全补丁都打上了.  
  F   经常检查系统的安全日志  
   
  如果和做到以上几点,可安全挂外网.  
   
  3   主管封了很多端口,这个有没有关系  
   
  这个没关系,具体理由楼主可参考一些TCP/IP及操作系统运作的资料,这个在这里没  
  办法讲.  
   
   
  ********  
   
  以上仅为个人建议,供楼主参考.Top

25 楼feixuehenshui(飞雪恨水)回复于 2004-09-06 14:49:23 得分 10

用排除法:  
  下一个简单的PHP程序,然后测试  
  看会不会出现那中情况  
  如果出现,,检查MYSQL设置,网络防火墙  
   
  不出现  
  你的程序有问题,或者表的结构   设计有问题Top

26 楼tan_chang(路人甲)回复于 2004-09-07 23:35:15 得分 5

我也遇到过相似问题,不过升级到apache2后就没有出现过,你可以试一下!Top

27 楼lzkd(浪子快刀)回复于 2004-09-08 09:18:25 得分 0

apache2也会有这种现象,不一定跟楼主的原因一样,但我的确  
  碰到Top

相关问题

  • 连接数据库出错
  • 连接数据库出错
  • 连接数据库出错
  • 连接数据库出错
  • 数据库连接出错
  • asp 连接数据库出错!求助!!
  • 连接0racle数据库出错
  • 数据库连接出错!!!急!!!
  • spring 连接数据库出错,疯了
  • 连接 SQL 数据库时出错

关键词

  • 防火墙
  • 连接
  • 数据库
  • 服务器
  • 瑞星
  • 代码
  • 主管
  • 端口
  • 操作系统
  • 查询

得分解答快速导航

  • 帖主:paz
  • mackyliu
  • zltostem
  • lzkd
  • flyonet
  • pwtitle
  • julise
  • whoami23007432
  • lyqq
  • unixdotnet
  • raid79
  • mikespook
  • countstars
  • cuipi2003
  • pswdf
  • skystar008
  • butcher2002
  • feixuehenshui
  • tan_chang

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo