1.主节点线程状态(Replication Master Thread States):

Finished reading one binlog; switching to next binlog

线程 已经完成读取 binlog 文件,并切换到下一个 binlog 文件

Master has sent all binlog to slave; waiting for more updates

线程已经从二进制日志中读取了所有剩余的更新日 志,并将它们发送到从库。线程当前处于空闲状态,正在等待新 的更新数据的事件写入二进制日志中

Sending binlog event to slave

线程已经从二进制日志中读取 了一个事件,现在将其发送到从库(二进制日志由事件组成,一 个事件通常是由发生更新的数据和一些其他信息组成)

Waiting to finalize termination

线程停止时发生的非常短暂 的状态,线程正在执行停止线程相关的动作

2.从库IO线程 State(Replication Slave I/O Thread States):

Checking master version

在建立与主库的连接之后非常短暂 的状态,表示正在检查主库的版本号

Connecting to master

线程尝试连接到主库

Queueing master event to the relay log

线程已读取一个事 件,并将其复制到中继日志,以便 SQL 线程进行重放

Reconnecting after a failed binlog dump request

线程正在 尝试重新连接到主库

Reconnecting after a failed master event read

线程正在尝 试重新连接到主库,当重连连接成功时,状态将变为“Waiting for master to send event”

Registering slave on master

在连接到主库成功之后非常短暂 的状态,表示正在向主库注册从库的连接信息(如从库的 IP 和端 口信息等)

Requesting binlog dump

在与主库建立连接成功之后非常短 暂的状态,使用当前的 I/O 线程位置,向主库发送从当前位置开 始的二进制日志的内容的请求

Waiting for its turn to commit

如果启用了 slave_preserve_commit_order 参数,则表示从库 I/O 线程正在 等待较旧的工作线程提交数据

Waiting for master to send event

线程已经连接到主库并且 正在等待新的二进制日志事件,如果主库空闲,这可能持续很长 时间。如果等待时间持续超过 slave_net_timeout 秒,则从库 I/O 线程发生超时。此时,从库 I/O 线程认为主库的连接断开, 会尝试重新连接主库

Waiting for master update

连接到主库之前的初始状态

Waiting for slave mutex on exit

线程停止时短暂发生的状 态,表示正在回收 I/O 线程的相关互斥资源

Waiting for the slave SQL thread to free enough relay log space

如果 relay_log_space_limit 变量设置值不为 0,那么当 中继日志总大小增长到超过此值时。 I/O 线程会等待,直到 SQL 线程通过重放中继日志内容并删除重放完成的中继日志以释放中 继日志占用的空间,使其满足中继日志中大小不大于 relay_log_space_limit 变量的值时,I/O 线程才可以继续写入中 继日志操作。

Waiting to reconnect after a failed binlog dump request

如果二进制日志 dump 请求失败(由于断开连接),那么线程在 进入 sleep 状态,此时出现此状态,然后 I/O 线程定期尝试重新 连接主库。重试之间的间隔时间可以使用 CHANGE MASTER TO 语句的 MASTER_CONNECT_RETRY 选项指定

* 要注意,从库的 I/O 线程连接主库是有心跳机制的,当主库超 过这个心跳时间没有发送新的 event 到 slave 上时,I/O 线程就 对主库发起一个心跳请求,如果请求成功就重置心跳时间,当主 库有新的 event 发送到 slave 时,这个心跳时间也会进行重置。 心跳时间由 change master 语句的 MASTER_HEARTBEAT_PERIOD 选项设置(以秒为单位),范围 0 到 4294967 秒,分辨率(毫秒) 最小非零值为 0.001,表示 1 毫秒。将间隔设置为 0 时表示禁用心跳。 默认值是 slave_net_timeout 配置参数的二分之一。so,理论上是不会出 现主从数据库正常的情况下因为主库没有写数据而导致从库 I/O 线程断开的情况。

Waiting to reconnect after a failed master event read

读取 主库 binlog 时发生错误(由于断开连接)。I/O 线程在尝试重新 连接主库之前,线程正在以 CHANGE MASTER TO 语句的 MASTER_CONNECT_RETRY 选项(默认为 60)设置的秒数进行 sleep(该时间是重连失败之后的重试间隔时间)

3.从库SQL线程 State(Replication Slave SQL Thread States):

Killing slave

线程正在处理 STOP SLAVE 语句 o Making temporary file (append) before replaying LOAD DATA INFILE:线程正在执行 LOAD DATA INFILE 语句,并将 从库将要读取的数据添加到临时文件中

Making temporary file (create) before replaying LOAD DATA INFILE

线程正在执行 LOAD DATA INFILE 语句,且正 在创建临时文件,临时文件中包含了从库将要读取行数据。注 意:只有在 MySQL 5.0.3 之前的版本中,主库记录了原始 LOAD DATA INFILE 语句时,才能遇到此状态

Reading event from the relay log

线程正在从中继日志中读 取事件,以便进行重放

Slave has read all relay log; waiting for more updates

线程 已重做完所有的中继日志文件中的所有事件,正在等待 I/O 线程 向中继日志中写入新的事件

Waiting for an event from Coordinator

从库使用多线程复制 时(slave_parallel_workers 大于 1),此状态表示一个 slave works 线程正在等待协调器线程(Coordinator 线程)分配日志 事件

Waiting for slave mutex on exit

线程停止时发生的非常短暂 的状态

Waiting for Slave Workers to free pending events

当 Workers 线程处理的事件的总数量大小超过 slave_pending_jobs_size_max 系统变量的大小时,会发生等待 操作(协调器线程不进行分配事件给 worker 线程)。当 Workers 线程处理的事件的总数量大小低于 slave_pending_jobs_size_max 限制时,协调器恢复调度。只有 当 slave_parallel_workers 设置为大于 0 时,此状态才会出现

Waiting for the next event in relay log

“Reading event from the relay log”状态之前的初始状态

Waiting until MASTER_DELAY seconds after master executed event

SQL 线程已读取事件,但并没有进行应用,而 是正在等待从库设置的延迟复制时间失效。此延迟时间使用 CHANGE MASTER TO 的 MASTER_DELAY 选项设置

4.从库连接线程 State(Replication Slave Connection Thread States):

Changing master

线程正在处理 CHANGE MASTER TO 语句

Killing slave

线程正在处理 STOP SLAVE 语句

Opening master dump table

此状态发生在主库创建 dump 表之后

Reading master dump table data

"Opening master dump table"状态之后出现的状态,表示正在从主库 dump 表读取数据

MySQL Replication Thread States的更多相关文章

  1. MySQL Replication需要注意的问题

    MySQL Replication 大家都非常熟悉了,我也不会写怎么搭建以及复制的原理,网上相关文章非常多,大家可以自己去搜寻.我在这里就是想总结一下mysql主从复制需要注意的地方.有人说主从复制很 ...

  2. MySQL Replication 优化和技巧、常见故障解决方法

    MySQL 主从同步错误(error)解决(转) sql_slave_skip_counter参数 附: 一些错误信息的处理,主从服务器上的命令,及状态信息. 在从服务器上使用show slave s ...

  3. 搭建mysql主从复制---Mysql Replication

    主从复制原理 Mysql的Replication是一个异步的复制过程,从一个Mysql Instance(master)复制到另一个Mysql Instance(slave).中间需要三个线程slav ...

  4. MySQL Replication主从复制

    MySQL Replication:NySQL复制,MySQL的复制默认为异步工作模式   mysql的复制功能是mysql内置的,装上它之后就具备了这个功能,而mysql复制是mysql实现大规模高 ...

  5. 浅析 MySQL Replication(本文转自网络,非本人所写)

    作者:卢飞 来源:DoDBA(mysqlcode) 0.导读 本文几乎涵盖了MySQL Replication(主从复制)的大部分知识点,包括Replication原理.binlog format.复 ...

  6. General Thread States

    对于实践中可能出现的各种General Thread States 以下列表描述了与常规查询处理关联的线程状态值,而不是更复杂的活动,例如复制. 其中许多仅用于在服务器中查找错误. after cre ...

  7. MySQL Replication 主从复制全方位解决方案

    1.1 主从复制基础概念 在了解主从复制之前必须要了解的就是数据库的二进制日志(binlog),主从复制架构大多基于二进制日志进行,二进制日志相关信息参考:http://www.cnblogs.com ...

  8. 浅析 MySQL Replication(转)

    目前很多公司中的生产环境中都使用了MySQL Replication ,也叫 MySQL 复制,搭建配置方便等很多特性让 MySQL Replication 的应用很广泛,我们曾经使用过一主拖20多个 ...

  9. 浅析 MySQL Replication(本文转自网络)

    作者:卢飞 来源:DoDBA(mysqlcode) 0.导读 本文几乎涵盖了MySQL Replication(主从复制)的大部分知识点,包括Replication原理.binlog format.复 ...

随机推荐

  1. Android系统Bitmap内存分配原理与优化

    一.前言 笔者最近致力于vivo游戏中心稳定性维护,在分析线上异常时,发现有相当一部分是由OutOfMemory引起.谈及OOM,我们一般都会想到内存泄漏,其实,往往还有另外一个因素--图片,如果对图 ...

  2. 24、配置Oracle下sqlplus历史命令的回调功能

    24.1.前言: 1.在oracle服务器上使用默认的sqlplus写sql命令时,如果写错了一个字母需要修改时,是无法通过 退格键消除错误的字母的,只能另起一行,重新写sql语句,而且也不能通过键盘 ...

  3. 校门外的树 (Vijos P1448)

    题目链接 描述 校门外有很多树,有苹果树,香蕉树,有会扔石头的,有可以吃掉补充体力的-- 如今学校决定在某个时刻在某一段种上一种树,保证任一时刻不会出现两段相同种类的树,现有两个操作: K=1,K=1 ...

  4. hive学习笔记之九:基础UDF

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  5. SpringBoot集成logback后访问日志端点

    问题描述 使用SpringBootAdmin(sba)监控Springboot服务时,配置了logback日志框架,按天滚动生成日志,此时在sba的日志监控页面出现404,如下图所示: 解决方案 查看 ...

  6. Java中有趣的移位操作!彻底弄懂各个移位操作符的使用方式

    << <<: 左移运算,左移几位就补几个0 >> >>: 右移运算,为算术右移 如果数字为正数时,移位后在前面补0 如果数字为负数时,移位后在前面补1 ...

  7. XCTF simple js

    思路分析: 进入靶场, 随便输入,肯定是错误的,f12看下源码,结合题目说js,把js代码单独拿出来看看. function dechiffre(pass_enc){ var pass = " ...

  8. vue3 script setup 定稿

    vue script setup 已经官宣定稿.本文主要翻译了来自 0040-script-setup 的内容. 摘要 在单文件组件(SFC)中引入一个新的 <script> 类型 set ...

  9. java二叉树的遍历(1)

    树(tree)是一种抽象数据类型(ADT),用来模拟具有树状结构性质的数据集合.它是由n(n>0)个有限节点通过连接它们的边组成一个具有层次关系的集合 节点:上图的圆圈,比如A,B,C等都是表示 ...

  10. python 07篇 内置函数和匿名函数

    一.内置函数 # 下面这些要掌握 # len type id print input open # round min max filter map zip exec eval print(all([ ...