54 mysql 中各种 timeout - connect/wait/interactive/read/write_timeout
前言
在 mysql 的服务器配置中, 我们经常会使用到几个 timeout
诸如 connect_timeout, wait_timeout, interactive_timeout, read_timeout, write_timeout 等等
我们 这里来看一下 他们的具体的使用场景, 以及具体控制的相关信息 是什么
connect_timeout
这个是 客户端 和 服务器建立连接之后, 客户端需要向服务器发起认证请求
如果在 connect_timeout 期限内, 客户端未发送认证请求, 服务器会断开 和 客户端的连接

客户端和服务器这边新建了连接之后, 需要登录, 登录的时候设置了 socket 的读写超时时间为 connect_timeout
登录之后, 如果是登录成功
将 socket 的读写超时时间更新为 net_read_timeout, net_write_timeout
wait_timeout/interactive_timeout
这两个超时时间, 控制的是 一个连接 如果超过多久, 没有交互了, mysql 这边可以关闭这个连接了
从描述上面看, 二者基本上是一样的, 从业务控制上面看, interactive_timeout 被转换为了 wait_timeout

这里是 登录校验 的时候, 将 interactive_timeout 转换为了 wait_timeout
这里是具体使用到的地方, “thd->get_protocol()->get_command” 是轮询 socket, 查看客户端是否有请求数据过来
因此 在轮询之前, 将 socket 的超时时间更新为了 wait_timeout
当前连接, 如果是超过了 wait_timeout 没有活跃, 则 超时, 然后 外层 handle_connection 的循环, 走 end_connection, close_connection 的相关流程

read_timeout/write_timeout
这两个主要控制的就是 服务器这边从客户端读取数据, 和 服务器往客户端写出数据 的超时时间控制了
这两个系统变量 描述信息如下

read_timeout 的这边使用如下, 在处理客户端请求之前, 将 socket 的读取超时时间更新为 read_timeout
如果是 服务器这边读取客户端的请求数据, 超过了 read_timeout, 则超时

write_timeout 的这边配置是在 登录连接之后, 将 socket 的写出超时时间更新为了 write_timeout
然后 后面的, 请求处理等等相关, 均是基于这个 write_timeout 的配置

read_timeout 的整体更新流程
这个是在 创建连接, 处理业务, 关闭连接 的几个阶段的 socket 读取超时 时间的更新的一个大致的情况
初始化的时候, 使用全局变量的 read_timeout 进行初始化 读取超时时间

然后是 登录的使用, 使用 connect_timeout 来更新 socket 的读取超时时间
然后是 登录验证之后, 将 socket 的读取超时时间更新为了 read_timeout
然后是 轮询客户端请求之前, 将 socket 的超时时间 更新为了 wait_timeout
然后是处理客户端请求之前, 将 socket 的读取超时时间更新为了 read_timeout
之后是随着连接的 生命周期的业务处理, 在等待客户端请求信息之前将 socket 的读取超时时间更新为 wait_timeout, 在处理客户端的请求信息之前将 socket 的读取超时时间更新为 read_timeout
write_timeout 的整体更新流程
这个是在 创建连接, 处理业务, 关闭连接 的几个阶段的 socket 写出超时 时间的更新的一个大致的情况
初始化的时候, 使用全局变量的 write_timeout 进行初始化 写出超时时间

然后是 登录的使用, 使用 connect_timeout 来更新 socket 的读取写出时间
然后是 登录验证之后, 将 socket 的读取超时时间更新为了 write_timeout
然后在之后连接的生命周期中, socket 的写出超时时间, 一直是 write_timeout
完
相关文章:
54 mysql 中各种 timeout - connect/wait/interactive/read/write_timeout
前言 在 mysql 的服务器配置中, 我们经常会使用到几个 timeout 诸如 connect_timeout, wait_timeout, interactive_timeout, read_timeout, write_timeout 等等 我们 这里来看一下 他们的具体的使用场景, 以及具体控制的相关信息 是什么 connect_timeout 这个是 客户端 和…...
实战案例(5)防火墙通过跨三层MAC识别功能控制三层核心下面的终端
如果网关是在核心设备上面,还能用MAC地址进行控制吗? 办公区域的网段都在三层上面,防火墙还能基于MAC来控制吗? 采用正常配置模式的步骤与思路 (1)配置思路与上面一样 (2)与上面区…...
【智能流体力学】数值模拟中的稳态和瞬态
在流体力学和数值模拟中, 稳态 (Steady State)意味着流体的物理量(如速度、压力、温度等)不随时间变化。换句话说,在稳态模拟中,系统已经达到了平衡,任何位置上的流场特性都不再随时间发生变化。 其他教程参考:https://doc.cfd.direct/openfoam/user-guide-v12/index…...
Vue-Route4 ts
小满学习视频 Vue-Route 官网 项目的目录结构: 1. Vue-Router的使用 安装Vue-route pnpm add vue-router4创建router文件 /route/index.vue import { createRouter } from "vue-router"; import {createMemoryHistory,createWebHashHistory,create…...
sizeof和strlen的小知识
Hello~,欢迎大家来到我的博客进行学习! 目录 1.sizeof和strlen😺1.1 sizeof🥰 1.2 strlen😋1.3 sizeof和strlen的对比👻 1.sizeof和strlen😺 1.1 sizeof🥰 sizeof是一种单目操作符,…...
Java项目: 基于SpringBoot+mybatis+maven宠物咖啡馆平台(含源码+数据库+毕业论文)
一、项目简介 本项目是一套基于SpringBootmybatismaven宠物咖啡馆平台 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse或者idea 确保可以运行! 该系统功能完善、界面美观、操作简单…...
戴尔14代服务器配置IDRAC9远程配置说明
一、规划管理网段 规划管理网段,要求如下: 管理网段与业务网段不能使用同一网段;管理网段与业务网段不能直接互通;如有条件管理网与业务网使用不同设备接入。 二、配置服务器idrac 2.1、确认idrac口位置 2.2、开机进F2 2.3、 …...
如何让你家里的电脑连接公司的远程桌面
在远程工作日益普遍的今天,能够从家里的电脑连接到公司的远程桌面,不仅可以提高工作效率,还能确保工作的连续性和数据的安全性。本文将详细指导你如何设置并实现从家中电脑连接至公司远程桌面的过程,无论你是使用Windows还是Mac系…...
软件:分享8个常用视频剪辑免费软件,你都用过吗?
随着视频剪辑的需求增多,现在市面上都有很多好用的视频剪辑软件,有的收费有的免费,不同的视频剪辑软件有不同的特点和优势。本文整理了几个简单好用的电脑视频剪辑工具,供大家参考。 不同的剪辑技术对应了不同的视频剪辑软件&…...
TS 常用类型
我们经常说TypeScript是JavaScript的一个超级 TypeScript 常用类型 TypeScript 是 JS 的超集,TS 提供了 JS 的所有功能,并且额外的增加了:类型系统 所有的 JS 代码都是 TS 代码 JS 有类型(比如,number/string 等&…...
半导体芯闻--20240913
1、舜宇光学在2024年上半年业绩表现亮眼,营收和净利润同比大幅增长。公司资产规模维持较高水平,短期偿债能力强。研发投入持续增加,特别是在车载模组领域取得显著成绩,与多家主流平台方案厂商深度合作,巩固了其在车载模…...
C盘空间不足如何解决?解决C盘空间不足的7个方法
当计算机的C盘(通常作为系统盘)空间不足时,会严重影响系统的运行效率和稳定性。针对这一问题,以下7个解决方案,可以帮助我们有效释放C盘空间,提升系统性能。 1.磁盘清理 利用Windows内置的磁盘清理工具…...
比 GPT-4 便宜 187 倍的Mistral 7B (非广告)
Mistral 7B 是一种设计用来快速处理较长文本的人工智能模型。它采用了一些特别的技术来提高速度和效率,比如“分组查询注意力(grouped-query attention)”和“滑动窗口注意力(sliding-window attention)”。 这些技术…...
FFmpeg与OpenCV联合开发
本文讲述如何利用FFmpeg SDK与OpenCV 从RTSP流中获取图像(OpenCV MAT 对象格式)。 一,构造RTSP视频流 因为是在本机实验,所以我自己构造了一个RTSP流。如果你有现成的RTSP流也可以的。 实验用的源视频是黑神话悟空的《云宫讯音》…...
Docker 部署 Redis (图文并茂超详细)
部署 Redis ( Docker ) [Step 1] : 拉取 Redis 镜像, 推荐使用 7 的 Redis 版本 docker pull redis:7.0.12[Step 2] : 创建 Redis 相关目录 ➡️ 启动 Redis 容器 ➡️ 拷贝文件 ➡️ 授权文件夹 ➡️ 删除容器 # 创建 Redis 相关目录 mkdir -p /data/redis/{conf,data,log…...
Docker基础-Docker Compose使用
文章目录 一、什么是Docker Compose?常用命令 Docker Compose安装前提条件Linux 上的安装macOS 上的安装Windows 上的安装注意事项启动 Docker Compose 服务 Docker Compose使用Docker Compose 文件基本结构关键概念示例:更复杂的配置注意事项 参考文献 一、什么是…...
GPT撰写开题报告教程——课题确定及文献调研
撰写开题报告是一项复杂而重要的任务,需要涵盖从主题选择到文献综述、研究方法等多个环节。借助AI,如ChatGPT,可以显著提高这一过程的效率以及内容的质量。本文将详细探讨如何一步步利用ChatGPT撰写开题报告。 一、开题报告内容 一个清晰的…...
SprinBoot+Vue高校就业管理系统的设计与实现
目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍:CSDN认证博客专家,CSDN平台Java领域优质…...
【人工智能】Transformers之Pipeline(十八):文本生成(text-generation)
目录 一、引言 二、文本生成(text-generation) 2.1 概述 2.2 家谱树谱——encoder or decoder is a problem 2.3 pipeline参数 2.3.1 pipeline对象实例化参数 2.3.2 pipeline对象使用参数 2.3.3 pipeline返回参数 …...
判断当前用户登录时常是否超过两个小时
有一个签到功能需要用户登录时间超过两个小时才可以签到 1. 存储登录时间戳 login() { // 假设这是登录后的操作 const currentTime new Date().getTime(); // 获取当前时间戳 localStorage.setItem(loginTimestamp, currentTime.toString()); // 存储登录时间戳 // 其他…...
OpenClaw+GLM-4.7-Flash隐私方案:本地化处理敏感数据
OpenClawGLM-4.7-Flash隐私方案:本地化处理敏感数据 1. 为什么需要本地化隐私方案 去年我在帮一家诊所设计病历管理系统时,遇到了一个棘手问题:他们需要自动化处理患者检查报告,但又担心将敏感数据上传到云端存在泄露风险。这促…...
AI辅助创作:Krita智能选区工具效率提升指南
AI辅助创作:Krita智能选区工具效率提升指南 【免费下载链接】krita-vision-tools Krita plugin which adds selection tools to mask objects with a single click, or by drawing a bounding box. 项目地址: https://gitcode.com/gh_mirrors/kr/krita-vision-too…...
别急着扔!用Windows虚拟内存和这几招,让老电脑再战三年(附SSD选购建议)
让老旧电脑重获新生的5个关键策略与SSD选购指南 老旧电脑卡顿到让人抓狂?先别急着换新机。我的邻居张叔上周还抱怨他那台2015年的联想笔记本"慢得像蜗牛",经过一番优化后,现在居然能流畅运行Photoshop处理照片。本文将分享一套系统…...
【latex】探索LaTeX中加粗文本的多种方法及其在表格中的优化应用
1. LaTeX加粗文本的多种方法对比 第一次用LaTeX写论文时,我也以为\textbf{}是唯一的加粗方式。直到在表格里发现加粗后的文字会把单元格撑变形,才意识到LaTeX的文本修饰比想象中复杂得多。经过反复测试,我发现实际有5种常用加粗方法…...
一键体验OpenClaw:星图平台百川2-13B-4bits镜像快速部署方案
一键体验OpenClaw:星图平台百川2-13B-4bits镜像快速部署方案 1. 为什么选择星图平台体验OpenClaw 作为一个长期关注AI自动化工具的技术爱好者,我第一次接触OpenClaw时就被它的理念吸引了——一个能在本地电脑上像人类一样操作各种软件的AI助手。但当我…...
微信H5页面如何通过wx-open-launch-weapp标签跳转小程序?完整配置指南
微信H5跳转小程序全链路实战:从零配置wx-open-launch-weapp标签 在移动互联网生态中,微信H5与小程序的无缝跳转已成为提升用户体验的关键技术节点。许多开发者首次接触wx-open-launch-weapp标签时,往往会在业务域名验证、HTTPS部署等环节遭遇…...
中文医疗大模型避坑指南:从MedBench评测看5大常见训练误区
中文医疗大模型实战避坑手册:从MedBench看模型训练的5个致命盲区 当ChatGPT掀起通用大模型的热潮时,医疗领域正在经历一场更为严谨的技术革命。不同于开放域的对话生成,医疗大模型的每个输出都可能直接影响临床决策——这要求开发者必须跨越专…...
VisionPro实战:CogGraphicCollection在工业检测中的5个高效用法(附代码)
VisionPro实战:CogGraphicCollection在工业检测中的5个高效用法(附代码) 在工业自动化领域,机器视觉系统正变得越来越智能和高效。作为康耐视VisionPro平台的核心组件之一,CogGraphicCollection为工程师提供了强大的图…...
Unity WebGL输入优化:跨平台文本输入解决方案的技术突破
Unity WebGL输入优化:跨平台文本输入解决方案的技术突破 【免费下载链接】WebGLInput IME for Unity WebGL 项目地址: https://gitcode.com/gh_mirrors/we/WebGLInput 在Unity WebGL应用的开发过程中,文本输入功能一直是开发者面临的核心挑战。传…...
谷歌DeepMind与卡内基梅隆大学揭秘声音背后的脸
这项由谷歌DeepMind与卡内基梅隆大学联合开展的研究,发表于2024年的计算机视觉与模式识别顶级会议CVPR(IEEE/CVF Conference on Computer Vision and Pattern Recognition),论文编号为arXiv:2404.01975,有兴趣深入了解…...
