解决方案
使用mysql_real_connect连接之后
char reconnectArg = 1;
mysql_options(mConn, MYSQL_OPT_RECONNECT, (char *)&reconnectArg);
如何测试
mysql配置文件my.ini的section [mysqld]下增加配置项wait_timeout=1(默认八个小时),该配置项含义就是1s与mysql的连接没有活动的话,mysql自动断开连接。
生效之后,mysql命令行连接mysql数据库,进行各项mysql操作观察是否有失败的。
测试版本包括5.1.34以及5.0.15
一些相关函数
mysql_ping
检查mysql是否断开连接,如果断开连接的话尝试重新连接
mysql_pconnect
保证mysql 服务不会关闭mysql连接
参考资料
Mysql持久连接
Pasted from <http://www.shenmiguo.com/archives/2009/319_mysql-pconnect.html>
MySQL自动重新连接
Pasted from <http://blog.chinaunix.net/u1/50685/showart_1805135.html>
本文介绍如何通过配置MySQL实现自动重连功能,并提供了一个具体的测试方法。通过设置MySQL配置文件my.ini中的wait_timeout参数,可以控制连接超时时间。文章还提到了mysql_real_connect和mysql_options函数的具体用法。
783

被折叠的 条评论
为什么被折叠?



