请教个mysql mysql_real_connect 连接超时的问题

riveryh 2018-03-28 10:28:37
在某些异常情况下连接数据库可能会挂住,就设置了连接超时时间。
代码大致如下:
MYSQL *mysql = mysql_init(NULL);
unsigned int timeout = 10;
mysql_options(mysql, MYSQL_OPT_CONNECT_TIMEOUT, &timeout);
if (mysql_real_connect(mysql, DBHOST, DBUSER, DBPASS, DBNAME, DBPORT, DBSOCK, DBPCNT) )
{
..............
}
设置了连接超时时间为10秒,但到mysql_real_connect 这一步还是卡住了,很长时间都不返回,看来 MYSQL_OPT_CONNECT_TIMEOUT并没有生效。请教下这个问题该怎么解决?还有没有其他好方法来规避连接数据库挂死这种情况?多谢!
...全文
754 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
oyljerry 2018-03-29
  • 打赏
  • 举报
回复
https://bbs.csdn.net/topics/390247381 应该是没什么效果 用另一个方法 建議的做法是使用PING的方法去重置TIMEOUT的計秒 mysql_ping(&sqMysql_Test); 當然要加上一些TIMER的監控來做處理,

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧