“偶尔”的出现[[[[[[[[[[连接数据库出错]]]]]]]]]]问题,大家可以进来谈谈。
环境: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




