• MySQL server has gone away


    在 my.ini 中添加以下代码:

    wait_timeout = 288000

    interactive_timeout = 288000

    max_allowed_packet=10M

    这样的话就能很好的解决 MySQL server has gone away 问题了。

    wait_timeout 是等待的最长时间,这个值大家可以自定义,但如果时间太短的话,超时后就会现了 MySQL server has gone away #2006 错误。

    max_allowed_packet 是 mysql 允许最大的数据包,也就是你发送的请求;

    max_allowed_packet 参数的作用是,用来控制其通信缓冲区的最大长度。

    查询的结果集超过 max_allowed_packet 也会出现这样的报错。定位方法是打出相关报错的语句。

    用select * into outfile 的方式导出到文件,查看文件大小是否超过 max_allowed_packet ,如果超过则需要调整参数,或者优化语句。

    mysql> show global variables like 'max_allowed_packet';
    +--------------------+---------+
    | Variable_name      | Value   |
    +--------------------+---------+
    | max_allowed_packet | 1048576 |
    +--------------------+---------+
    1 row in set (0.00 sec)

    修改参数:mysql> set global max_allowed_packet=1024*1024*16;

    mysql> show global variables like 'max_allowed_packet';
    +--------------------+----------+
    | Variable_name      | Value    |
    +--------------------+----------+
    | max_allowed_packet | 16777216 |
    +--------------------+----------+
    1 row in set (0.00 sec)

  • 相关阅读:
    SqlServer相关文章
    C#字典(Dictionary)相关文章记录
    Mysql相关文章
    Rabbitmq相关文章
    C#多线程之锁相关文章
    23种设计模式相关文章
    IdentityServer4之Consent与offline_access
    .netCore mvc 在javascript中读取属性中文乱码的问题
    基于 NET5的QQ扫码登录的第三方实现(无需注册开发者)
    Windows 操作系统开启长路径支持
  • 原文地址:https://www.cnblogs.com/zydtm/p/9336543.html
Copyright © 2020-2023  润新知