mysql_ping()c api失败

时间:2009-09-22 10:10:31

标签: mysql c api

与mysql的连接在8小时后丢失(即等待wait_timeout varibale超时)。我试图使用mysql_ping()重新连接到服务器,但ping给我Mysql服务器消失了错误。我使用的是sql 5.1版。所以我没有使用mysql_options()来启用重新连接标志,因为mysql_real_connect()将其设置为0.我明确地将重新连接标志设置为1,如mysql_Conn-> reconnect = 1;在调用mysql_real_connect()之后。 但是mysqlping不起作用。重新连接没有发生。好心劝告。 提前致谢

1 个答案:

答案 0 :(得分:2)

而不是试图在断开连接之后将连接恢复到生命状态,而是在大约一半的空闲断开时间(在你的情况下为4小时)内定期ping它以使其保持活动状态。

如果ping失败,请显式删除连接并重新连接。

此外,您可能希望在/etc/my.cnf中添加类似的内容:

[mysqld]
wait_timeout=400000

超时是以秒为单位的,所以这大约是四天半,足够长,以便在没有人使用你的系统的情况下长时间保持连接活动。