zoukankan      html  css  js  c++  java
  • Navicat Premium中MySQL server has gone away错误怎么办

    mysql数据库出现MySQL server has gone away错误一般是sql语句太大导致了,下面们在使用Navicat中操作数据库时提示MySQL server has gone away问题解决办法。

    今天备份了一下本站的数据,生成的sql文件比较大,当然,这个sql是包含了比较多的冗余数据。用Navicat直接导入的话,报错MySQL server has gone away。如下图所示:

    解决办法

    打开navicat的菜单中的tools(工具),选择server monitor(服务器监控),然后在左列选择数据库,右列则点选variable(变量)表单项,寻找max_allowed_packet,将其值改大。

     

    改好之后,再次导入备份的sql文件,一切正常。

    如果还是无法解决,下面我整理了一些mysql查询中碰到MySQL server has gone away问题

    找到你的mysql目录下的my.ini配置文件,加入以下代码:

    max_allowed_packet=500M

    wait_timeout=288000

    interactive_timeout = 288000

    自己看情况更改数值,我直接改很大,最后记得重启你的mysql服务

    这样的话就能很好的解决MySQL server has gone away问题了。max_allowed_packet是mysql允许最大的数据包,也就是你发送的请求; wait_timeout是等待的最长时间,这个值大家可以自定义,但如果时间太短的话,超时后就会现了MySQL server has gone away #2006错误。max_allowed_packet参数的作用是,用来控制其通信缓冲区的最大长度

    如果没有修改myql权限我们可以在PHP程序里面,如果php.ini修改起来不方便,可以以下代码来尝试解决。

    ini_set('mysql.connect_timeout', 300); 
    ini_set('default_socket_timeout', 300);
    在ini_set后,可以用ini_get来验证参数设置适合符合预期。

  • 相关阅读:
    HTML_表单
    HTML_列表、表格与媒体元素
    HTML_HTML5基础
    使用java理解程序逻辑 试题分析
    字符串
    带参数的方法
    人机猜拳
    类的无参方法
    类和对象
    vue cli+axios踩坑记录+拦截器使用,代理跨域proxy(更新)
  • 原文地址:https://www.cnblogs.com/seven1314pp/p/9006479.html
Copyright © 2011-2022 走看看