解決MySQL server has gone away問題


    今天跑的一個php腳本遇到了一個MySQL server has gone away問題的問題 php

緣由是遍歷循環生成excel並打包的時間過長,超過了mysql的 wait-timeout時間,致使mysql斷開了連接。 mysql

    兩種方法能夠解決: sql

        1.增長你的 wait-timeout值,這個參數是在my.cnf(在Windows下臺下面是my.ini)中設置,(這個值的單位是秒,意思是當一個數據庫鏈接在10秒鐘內沒有任何操做的話,就會強行關閉) 數據庫

        2.檢查 MySQL的連接狀態,使其從新連接 函數

//數據庫操做類中間的一個函數
    function ping(){    
     
        if(!mysql_ping($this->link)){    
     
            mysql_close($this->link); //注意:必定要先執行數據庫關閉,這是關鍵    
     
            $this->connect();    
     
        }    
     
    }
    
$DB->ping();//致使數據庫鏈接關閉,檢查並從新鏈接 
 $threeResult = $DB->fetch_arrays($sql);
通過這樣處理後,能夠很是有效的解決MySQL server has gone away這樣的問題,並且不會對系統形成額外的開銷
相關文章
相關標籤/搜索