• ADADADADAD

    mysql5.1关于自动重连的一些变化[ mysql数据库 ]

    mysql数据库 时间:2024-12-24 19:10:51

    作者:文/会员上传

    简介:

    以前mysql用的是3.23的版本,在调用C API的时候,基本不用重连的设置,但是现在使用mysql5.1,发现每天早上连接都会断掉,感觉很奇怪,仔细查阅文档,发现有2个参数:interactive_t

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    以前mysql用的是3.23的版本,在调用C API的时候,基本不用重连的设置,但是现在使用mysql5.1,发现每天早上连接都会断掉,感觉很奇怪,仔细查阅文档,发现有2个参数:interactive_timeout,wait_timeout(缺省为28800秒),意思是如果28800秒没有任何操作,连接就自动断掉,但是奇怪的是为什么3.23也有这个参数却没发生这样是问题呢?后发现在5.0.3后,默认是超时断掉后不自动重连,如果需要设置为自动重连,需要在mysql_init()之后,用mysql_options()来设置MYSQL_OPT_RECONNECT为1,这样就可以自动重连了!!

    下面是连接的函数:

    int xdbmysql_connect (XdbMysqlBackend *self, const char *host, const char *port,
    const char *user, const char *pass, const char *db)
    {
    int nport;
    char value = 1;

    if (!port || sscanf(port, "%d", &nport) < 1)
    nport = 0;

    mysql_init(&(self->mysql));
    mysql_options(&(self->mysql), MYSQL_OPT_RECONNECT, (char *)&value);
    self->connection = mysql_real_connect(&(self->mysql), host, user, pass,
    db, nport, NULL, 0);
    if (!xdbmysql_is_connected(self))
    return 0;

    //add by zld(b)
    strcpy(st_ui.host,host);
    strcpy(st_ui.port,port);
    strcpy(st_ui.usr,user);
    strcpy(st_ui.pwd,pass);
    strcpy(st_ui.dbn,db);
    //add by zld(e)

    return 1;
    }

    [@more@]

    mysql5.1关于自动重连的一些变化.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: 关于自动