• 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)

  • 相关阅读:
    centos 7 端口
    linux yum
    linux RPM包管理
    linux 进程
    linux 显示系统执行的进程
    linux 任务调度
    linux 组管理
    linux 压缩和解压缩
    linux 文件目录类的指令 包含查找
    PHP指定字段的多维数组排序方法
  • 原文地址:https://www.cnblogs.com/zydtm/p/9336543.html
Copyright © 2020-2023  润新知