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参数

  • 相关阅读:
    2月4日进度
    每日总结3-6
    每日总结3-5
    每日总结3-4
    每日总结3-2
    本周计划
    本周计划
    假期每日总结2-13
    假期每日总结2-12
    假期每日总结2-11
  • 原文地址:https://www.cnblogs.com/danhuangpai/p/10449932.html
Copyright © 2011-2022 走看看