gone

mysql,gone away, hy000, reconnect,Mysql大sql文件导入

跟風遠走 提交于 2019-12-07 02:42:20
在导入超大sql文件到mysql的时候报错. 我遇到两个问题,1是编码,2是单条sql太大。 解决:在命令行下通过source命令导入。连接的时候,带上你相应的编码: mysql -u root -p --default-character-set=utf8 source之前,修改 max_allowed_packet : set global max_allowed_packet=1024*1024*512; 然后再source就不会报错了。 来源: oschina 链接: https://my.oschina.net/u/160743/blog/208981

解决MySQL server has gone away问题

旧时模样 提交于 2019-12-02 21:34:54
今天跑的一个php脚本遇到了一个MySQL server has gone away问题的问题 原因是遍历循环生成excel并打包的时间过长,超过了mysql的 wait-timeout时间,导致mysql断开了链接。 两种方法可以解决: 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这样的问题,而且不会对系统造成额外的开销 来源: oschina 链接: https://my.oschina.net/u/188211/blog/162441