MySQL复制线程状态转变

一、主库线程状态(State)值

以下列表显示了主从复制中主服务器的Binlog Dump线程的State列中可能看到的最常见状态(SHOW PROCESSLIST)。如果Binlog Dump线程在主服务器上看不到,这意味着复制没有运行,也就是说,目前没有连接任何Slave主机。

  • Sending binlog event to slave

二进制日志由各种事件组成,一个事件通常为一个更新加一些其它信息。线程已经从二进制日志读取了一个事件并且正将它发送到从服务器。

  • Finished reading one binlog; switching to next binlog

线程已经读完二进制日志文件并且正打开下一个要发送到从服务器的日志文件。

  • Has sent all binlog to slave; waiting for binlog to be updated

线程已经从二进制日志读取所有主要的更新并已经发送到了从服务器。线程现在正空闲,等待由主服务器上新的更新导致的出现在二进制日志中的新事件。

  • Waiting to finalize termination

线程停止时发生的一个很简单的状态。

二、从库I/O线程状态(State)值

  • Connecting to master

线程正试图连接主服务器。

  • Checking master version

建立同主服务器之间的连接后立即临时出现的状态。

  • Registering slave on master

建立同主服务器之间的连接后立即临时出现的状态。

  • Requesting binlog dump

建立同主服务器之间的连接后立即临时出现的状态。线程向主服务器发送一条请求,索取从请求的二进制日志文件名和位置开始的二进制日志的内容。

  • Waiting to reconnect after a failed binlog dump request

如果二进制日志转储请求失败(由于没有连接),线程进入睡眠状态,然后定期尝试重新连接。可以使用–master-connect-retry选项指定重试之间的间隔。

  • Reconnecting after a failed binlog dump request

线程正尝试重新连接主服务器。

  • Waiting for master to send event

线程已经连接上主服务器,正等待二进制日志事件到达。如果主服务器正空闲,会持续较长的时间。如果等待持续slave_read_timeout秒,则发生超时。此时,线程认为连接被中断并企图重新连接。

  • Queueing master event to the relay log

线程已经读取一个事件,正将它复制到中继日志供SQL线程来处理。

  • Waiting to reconnect after a failed master event read

读取时(由于没有连接)出现错误,线程企图重新连接前将睡眠master-connect-retry秒。

  • Reconnecting after a failed master event read

线程正尝试重新连接主服务器,当连接重新建立后,状态变为Waiting for master to send event。

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

正使用一个非零relay_log_space_limit值,中继日志已经增长到其组合大小超过该值。I/O线程正等待直到SQL线程处理中继日志内容并删除部分中继日志文件来释放足够的空间。

  • Waiting for slave mutex on exit

线程停止时发生的一个很简单的状态。

三、从库SQL线程状态(State)值

  • Reading event from the relay log

线程已经从中继日志读取一个事件,可以对事件进行处理了。

  • Has read all relay log; waiting for the slave I/O thread to update it

线程已经处理了中继日志文件中的所有事件,现在正等待I/O线程将新事件写入中继日志。

  • Waiting for slave mutex on exit

线程停止时发生的一个很简单的状态。

四、从库连接线程状态(State)值

这些线程状态发生在复制从库上,但与连接线程相关联,而不与I/O或SQL线程相关联。

  • Changing master

线程正在处理CHANGE MASTER TO语句。

  • Killing slave

线程正在处理STOP SLAVE语句。

  • Opening master dump table

此状态发生在Creating table from master dump之后。

  • Reading master dump table data

此状态发生在Opening master dump table之后。

  • Rebuilding the index on master dump table

原文地址:https://www.cnblogs.com/51yuki/p/mysql20.html

时间: 2024-10-05 07:13:45

MySQL复制线程状态转变的相关文章

【MySQL】线程状态详解

前言:我们常用 show processlist 或 show full processlist 查看数据库连接状态,其中比较关注的是 State 列,此列表示该连接此刻所在的状态.那么你真的了解不同 State 值所表示的状态吗?下面我们参考官方文档来一探究竟 . 以MySQL 5.7版本为例 官方文档地址:https://dev.mysql.com/doc/refman/5.7/en/general-thread-states.html 简单翻译下: After create 当线程在创建表

MySQL5.6复制技术(3)-MySQL主从复制线程状态转变

一.主库线程状态(State)值 以下列表显示了主从复制中主服务器的Binlog Dump线程的State列中可能看到的最常见状态(SHOW PROCESSLIST).如果Binlog Dump线程在主服务器上看不到,这意味着复制没有运行,也就是说,目前没有连接任何Slave主机. Sending binlog event to slave 二进制日志由各种事件组成,一个事件通常为一个更新加一些其它信息.线程已经从二进制日志读取了一个事件并且正将它发送到从服务器. Finished readin

通过show processlist命令查看主从库复制线程状态

1.主库IO线程状态说明: <1>sending binlog event to slave 线程已经从二进制日志读取了一个事件,正在发送给从服务器. <2>Finished reading one binlog;switching to next binlog. 线程已经读完二进制日志文件,并且正打开下一个要发送到从服务器的二进制日志文件. <3>Has sent all binlog to slave; waitting for binlog to be updat

MySQL复制详解

目录: 1.简介 2.原理 3.常见复制架构 4.一主一丛异步复制演示 5.测试结果 6.额外的配置参数 7.提升备库成为主库 7.1计划内的提升 7.2计划外的提升 8.半同步复制配置演示 9.双主双写配置演示 10.处理可以忽略的错误 11.总结 1.简介:MySQL内建的复制功能是构建基于MySQL的大规模,高性能应用的基础.复制就是让一台服务器的数据和其它服务器保持同步,一台主库可以同步到多台备库上面,备库也可以作为另一台服务器的主库.主库和备库之间可以有多种不同的组合方式. 2.原理:

MYSQL 复制详解

MySql 复制介绍 MySQL复制允许将主实例(master)上的数据同步到一个或多个从实例(slave)上,默认情况 下复制是异步进行的,从库也不需要一直连接到主库来同步数据 MySQL复制的数据粒度可以是主实例上所有的数据库,也可以是指定的一个或多个数据库 ,也可以是一个数据库里的指定的表 MySQL复制所带来的优势在于: 扩展能力:通过复制功能可以将MySQL的性能压力分担到一个或多个slave上.这要求所有 的写操作和修改操作都必须在Master上完成,而读操作可以被分配到一个或多个s

MySQL线程状态详解

前言: 我们常用 show processlist 或 show full processlist 查看数据库连接状态,其中比较关注的是 State 列,此列表示该连接此刻所在的状态.那么你真的了解不同 State 值所表示的状态吗?下面我们参考官方文档来一探究竟 . 以MySQL 5.7版本为例 官方文档地址: https://dev.mysql.com/doc/refman/5.7/en/general-thread-states.html 简单翻译下: After create 当线程在创

mysql线程状态

1.复制主库线程状态: Sending binlog events to slave #二进制日志由各种事件组成,一个事件通常为一个跟新加一些其它信息, 线程已经从二进制日志读取了一个事件并且正将它发送到从服务器: Finished reading one binlog;switchingto next binlog #线程已经读完二进制日志文件并且正打开下一个发送到服务器的日志文件 Has sent all binlog to slave;waitingfor binlog to be upd

MySQL 复制过滤器、监控维护及主从复制的读写分离

MySQL 复制过滤器.监控维护及基于SSL的主从复制 =============================================================================== 概述: 本章将主要介绍MySQL复制中如何过滤,监控维护,以及基于SSL的主从复制,具体内容如下: MySQL 复制过滤器 ·从服务器库级别过滤 MySQL 清理日志:PURGE 复制监控 ·Master ·Slave 如何确定主从节点的数据是否一致 MySQL基于SSL的主从复制(

从库的线程状态

[[email protected] ~]# mysql -uroot -ppzk123 -S /data/3307/mysql.sock -e "show processlist\G;" *************************** 1. row *************************** Id: 12 User: system user Host: db: NULL Command: Connect Time: 1299 State: Waiting for