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来验证参数设置适合符合预期。

  • 相关阅读:
    10. Regular Expression Matching
    9. Palindrome Number (考虑负数的情况)
    8. String to Integer (整数的溢出)
    7. Reverse Integer (整数的溢出)
    LeetCode Minimum Size Subarray Sum
    LeetCode Course Schedule II
    Linux 文件缓存 (一)
    LeetCode Tries Prefix Tree
    Linux : lsof 命令
    LeetCode Binary Tree Right Side View
  • 原文地址:https://www.cnblogs.com/seven1314pp/p/9006479.html
Copyright © 2011-2022 走看看