十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
以前MySQL用的是3.23的版本,在調(diào)用C API的時(shí)候,基本不用重連的設(shè)置,但是現(xiàn)在使用mysql5.1,發(fā)現(xiàn)每天早上連接都會(huì)斷掉,感覺很奇怪,仔細(xì)查閱文檔,發(fā)現(xiàn)有2個(gè)參數(shù):interactive_timeout,wait_timeout(缺省為28800秒),意思是如果28800秒沒有任何操作,連接就自動(dòng)斷掉,但是奇怪的是為什么3.23也有這個(gè)參數(shù)卻沒發(fā)生這樣是問題呢?后發(fā)現(xiàn)在5.0.3后,默認(rèn)是超時(shí)斷掉后不自動(dòng)重連,如果需要設(shè)置為自動(dòng)重連,需要在mysql_init()之后,用mysql_options()來設(shè)置MYSQL_OPT_RECONNECT為1,這樣就可以自動(dòng)重連了!!
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了大同免費(fèi)建站歡迎大家使用!
下面是連接的函數(shù):
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;
}