zoukankan      html  css  js  c++  java
  • MySQL server has gone away 的两个最常见的可能性

    背景

      今天测试同学反馈他们docker中的测试库时不时就就报“MySQL server has gone away”,事态之紧急搞的我都有点怕了(像我这么成熟稳重

      的DBA怎么有可能怕呢);

      第一感觉就是他们的测试环境一定是老半天都不见一个SQL来的,等到要发第二个SQL的时候不知道是过了多少年了(傲慢),于是我上去就直

      接把timeout值给调整到了一天;让测试同步重启一下中间件再试一波,5分钟没到又报错了。

    MySQL server has gone away的可能原因有那些

      1、超时,超时的阀值有wait_timeout这个参数控制

      2、连接被人为的kill

      3、发送的SQL语句过大超过max_allowed_packet的大小

      4、其它原因:DNS解析失败,... ...

    反思

      不要太小看测试环境的数据库和SQL语句的复杂度,他们分分钟可以把一条insert搞到64M以上;上面的这个问题我是通过把 max_allowed_packet

      调整到 1G 解决的。

    官方参考

      https://dev.mysql.com/doc/refman/8.0/en/gone-away.html

      https://sqlpy.com

    ---

  • 相关阅读:
    找零钱「Usaco2006 Dec」
    才艺表演「Usaco2018 Open」
    潜入行动「JSOI2018」
    任务安排「SDOI2012」
    BZOJ2298: [HAOI2011]problem a
    JZOJ 5818
    JZOJ 3493
    JZOJ 3470
    JZOJ 5781
    JZOJ 5778
  • 原文地址:https://www.cnblogs.com/JiangLe/p/10330896.html
Copyright © 2011-2022 走看看