亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 5610 | 回復(fù): 0
打印 上一主題 下一主題

MySQL server has gone away 處理的幾種方法 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2014-10-15 13:48 |只看該作者 |倒序瀏覽
出現(xiàn)這種錯誤是因為,mysql server關(guān)閉了該連接,如果客戶端程序在默認(rèn)的8小時內(nèi)進行任何數(shù)據(jù)庫操作的話。解決方法有:

1、修改mysql server的my.cnf,通過修改wait_timeout,interactive_timeout,來設(shè)置延長超時時間,但是個人不建議這么做,這種操作會導(dǎo)致存在很多的數(shù)據(jù)庫連接存在,影響數(shù)據(jù)庫的性能;

   設(shè)置方法為:

      [mysqld]

      wait_timeout=5
      interactive_timeout = 5


       需要兩個變量同時進行設(shè)置;


2、設(shè)置數(shù)據(jù)庫選項,當(dāng)連接斷開時進行重新連接。



       char nvalue = 1;

        if(mysql_options(&mysql, MYSQL_OPT_RECONNECT, (char *)&nvalue))
                printf("mysql_options/r/n");


3、執(zhí)行數(shù)據(jù)庫操作前,ping一下數(shù)據(jù)庫,如果數(shù)據(jù)庫無法連接,則斷開連接,然后再重啟連接。



     if(mysql_ping(sqlsock) != 0){    //reconnect failed...Then try connect
                   CloseDB();

                  if((sqlsock = mysql_real_connect(&mysql,DBHOST,DBUSER,DBPASSWORD,DBNAME,0,NULL,CLIENT_INTERACTIVE)) == NULL)
                  {
                        fprintf(stderr,"Can't connect to mysql sever! ErrorCode:%s/r/n",mysql_error(&mysql));

                        return -1;
                 }
                  printf("ConnectDB/r/n");
        }



          為保險起見,我采用重啟連接之間進行關(guān)閉連接;

        對于這種方法,個人建議采用一個線程每隔一定的時間來ping一下, 如果ping不通,則重新進行連接操作。

  

4、跟第一種方法類似,也是設(shè)置超時的時間,只是這個超時時間只是對本連接有效;

           mysql_options(&mysql,MYSQL_INIT_COMMAND,"set interactive_timeout = 15");      
           mysql_options(&mysql,MYSQL_INIT_COMMAND,"set wait_timeout = 15");




備注:當(dāng)客戶端與服務(wù)器之間的連接斷開的時候(比如拔掉網(wǎng)線),待網(wǎng)絡(luò)恢復(fù)正常后,連接仍然存在,這是tcp的重傳機制在起作用,tcp的重傳時間,本機測試超過了10分鐘的短線,恢復(fù)后仍然正常。

     1) 沒有找到設(shè)置tcp重傳時間的參數(shù)。有知道可以跟帖;

     2) 如何人為斷開數(shù)據(jù)庫連接的情形,本人也沒有找到好的方法,稍后可能會測試一下如果長時間斷網(wǎng),如何去恢復(fù)數(shù)據(jù)庫連接(打算ping數(shù)據(jù)庫的方法來嘗試一下)。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP