首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql服务器已离开-无法修复它

问mysql服务器已离开-无法修复它
EN

Stack Overflow用户
提问于 2011-05-12 15:07:20
回答 1查看 1.8K关注 0票数 2

我正在尝试使用MYSQL C API用C编写一个程序。我一切都正常,除了最近在尝试连接到服务器时出现错误。无论我连接到哪台服务器,它都会继续告诉我"mysql服务器已经消失了。“我的目标基本上是访问外部服务器并检索一些数据。以下是我到目前为止拥有的代码:

代码语言:javascript
复制
conn = mysql_init(NULL);

/* Connect to database */
if (!mysql_real_connect(conn, server,
     user, password, database, 0, NULL, 0)) {
    printf("%s",mysql_stat(conn));
    fprintf(stderr, "%s\n", mysql_error(conn));
} else {
    printf("works");
}

/* send SQL query */
if (mysql_query(conn, "show tables")) {
  fprintf(stderr, "%s\n", mysql_error(conn));
}

res = mysql_use_result(conn);

/* output table name */
printf("MySQL Tables in mysql database:\n");
while ((row = mysql_fetch_row(res)) != NULL)
  printf("%s \n", row[0]);

/* close connection */
mysql_free_result(res);
mysql_close(conn);
}
EN

回答 1

Stack Overflow用户

发布于 2014-02-17 15:47:20

我知道这是一个古老的问题,但我现在刚刚遇到它,我想给那些将来可能需要它的人留下一个答案。

如果您收到错误消息"MySQL服务器已离开“,这意味着客户端失去了与MySQL的连接。可能是MySQL服务器关闭了,或者更有可能的是,在一段时间后没有任何活动,服务器关闭了连接。阅读MySQL文档的这一页以更好地理解错误:dev.mysql.com/doc/refman/5.7/en/gone-away.html

尝试将MYSQL_OPT_RECONNECT选项设置为1,看看这是否解决了问题。设置后,客户端将尝试自动重新连接,这应该可以解决关闭/超时连接的问题。有关文档,请参阅:dev.mysql.com/doc/refman/5.7/en/auto-reconnect.html。请记住,仅执行一次重新连接尝试;如果服务器关闭或无法访问,查询仍可能失败。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5974498

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档