美文网首页
mysql链接断开的错误提示

mysql链接断开的错误提示

作者: 蟠龙有悔 | 来源:发表于2019-07-28 12:06 被阅读0次

    之前搭建的网站老是会出现由于数据库断开的500错误,网站的错误日志如下:
    mysqli::real_connect(): send of 61 bytes failed with errno=32 Broken pipe...
    但是只要页面刷新几次后,再访问就可以了,所以就一直拖着,今天特意花时间来处理这个问题。
    首先,查看mysql是否启用日志

    mysql> SHOW  GLOBAL VARIABLES LIKE '%log%';
    +--------------------------------------------+----------------------------------------------+
    | Variable_name                              | Value                                              |
    +--------------------------------------------+----------------------------------------------+
    ...
    | log_error                                  | /var/log/mysqld.log                          |
    ...
    

    看到我们要找的错误日志所在位置,打开 /var/log/mysqld.log文件
    看到有报很多 这样的错误 Got an error reading communication packets,网上查了下资料,定位到问题,应该是 mysql 中的 max_allowed_packet 设置太小

    切到mysql 查看下,果然,max_allowed_packet 为 Empty set (0.34 sec)

    mysql> show variables like '%max_allowed_packet%';
    Empty set (0.17 sec)
    

    再切到 etc/my.cnf,里面并没有关于 max_allowed_packet 的设置

    max_allowed_packet的修改方法有两种

    修改方法1(配置文件持久化修改):

    vim /etc/my.cnf
    [mysqld]
    max_allowed_packet = 100M

    修改方法2(命令行临时修改):

    mysql> set global max_allowed_packet = 100 * 1024 * 1024;
    mysql> exit

    max_allowed_packet 最大值是1G(1073741824),如果设置超过1G,查看最终生效结果也只有1G。

    我自然选择配置文件持久化修改了

    参考:
    写入MySQL报错超出 max_allowed_packet 的问题

    mysql max_allowed_packet查询和修改

    相关文章

      网友评论

          本文标题:mysql链接断开的错误提示

          本文链接:https://www.haomeiwen.com/subject/pkpurctx.html