免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2001 | 回复: 5

才发现的一个mysql错误 [复制链接]

论坛徽章:
0
发表于 2007-04-04 08:46 |显示全部楼层
最近做了个程序,在测试程序时出错MySQL server has gone away,仔细检查了程序语句和mysql表、过程、视图没发现错误,后来不放过任何一个环节的测试,发现是由于修改系统时间造成,感到很郁闷,修改系统时间怎么会造成数据库断开连接呢?但使用state检查数据库的连接状态是正常的,后来我单独建立了一个数据库,在这个数据库就建立了一个表,来验证修改系统时间是否会造成这个错误,做法如下。
1、在程序的启动窗体中连接数据库
2、在窗体中设置一个按钮,按钮中的事件就是一个正常的查询。
3、在程序的退出事件中关闭数据库

测试:
1、先启动程序。
2、再修改系统时间为上一个日期
3、点击查询按钮,测试正常 使用state检查数据库的连接状态是正常
4、再修改系统时间为下一个工作日
5、点击查询按钮 出现上述错误
6、使用state检查数据库的连接状态是正常
7、再点击查询按钮 还是出现上述错误


总结 在程序启动后修改系统时间不能大于当前日期 大于当前日期就会出现上述错误,小于当前日期永远不出错 不知为什么,大家不妨也做个实验。

有知道原因或解决之道的 求你给个招

论坛徽章:
0
发表于 2007-04-04 09:01 |显示全部楼层
没见过系统运行中还要改服务器时间的.....

论坛徽章:
0
发表于 2007-04-04 09:21 |显示全部楼层
因为我要测试几天或几个月的数据 我只是在单机上测试的 所以要改时间

论坛徽章:
0
发表于 2007-04-04 14:34 |显示全部楼层
我基于sybase informix等数据库上开发过不少程序,这些数据库均没有因改时间会出问题的,且在开发中很顺利没有这样那样的问题,怎么mysql这么多问题,特别是中文乱码问题至今解决不了,改系统时间怎么会断开连接呢,但检查state状态正常
怎么其它数据库没有这样的问题?看来mysql还是很不成熟

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
发表于 2007-04-04 14:44 |显示全部楼层
你这么做,可能会导致认为超时吧。

论坛徽章:
0
发表于 2007-04-07 20:01 |显示全部楼层
yes, change the date, change the wait time:

see the usage of:
interactive_timeout = 60
wait_timeout = 60
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP