解决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这样的问题,并且不会对系统形成额外的开销
相关文章
相关标签/搜索