zoukankan      html  css  js  c++  java
  • mysql 案例 ~timeout相关问题与错误信息


    一 简介:今天咱们来谈谈mysql的连接时间与会话关系
    二 分类
      mysql会话分类
      1 程序连接session(最主要的)
      2 binlog连接session(复制+canal消费)
      3 root session
        mysql超时参数(5.6,5.7增加前缀net)
        interactive_timeout
        wait_timeout
    三 两个超时参数的对比
     1 interactive_timeout
        1 默认8小时 2 针对交互式场景(手动执行,mysqldump)
     2 wait_timeout
       1 默认8小时 2 针对非交互式场景(jdbc,pymysql类似)

          缓存此会话链接,当链接重新被启用时,重新刷新time统计时间,如果sleep时间超过wait_timeout就会导致出连接被kill

    四 总结
      1 timeout只针对空闲链接
      2 非交互式场景只集成wait_timeout
      3 交互式场景下interactive_timeout会覆盖session级别wait_timeout的值
      4 通过show processlist可以观察到建立连接时间
    五 经典报错
     1 Lost connection to MySQL server during query
     2 MySQL server has gone away

    3  Got an error reading communication packet

       问题分析 没有正确关闭链接
      以下几种情况
      1 程序sleep时间超过wait_timeout设置时间导致被kill
      2 交互式时间超过 interactive_timeout 设置时间导致被kill
      3 java等程序发送数据包超过 max_allowed_packet的最大限制
      4 DNS解析问题,没有配置skip-name-reslove参数

  • 相关阅读:
    echarts圆套圆
    两个对象深度比较,借鉴,记录
    js异步加载的方式
    elementUI使用el-card高度自适应
    如何在页面上实现一个圆形的可点击区域
    清除浮动
    水平垂直居中的几种方式
    BFC原理
    正则表达式
    Vue项目中难点问题
  • 原文地址:https://www.cnblogs.com/danhuangpai/p/10449932.html
Copyright © 2011-2022 走看看