怎么理解MySQL Replication的复制线程

这期内容当中小编将会给大家带来有关怎么理解MySQL Replication的复制线程,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

MySQL Replication由以下线程组成:
(1).binlog Dump线程
Binlog Dump线程运行在主服务器上,可以通过语句show processlist来查看该线程是否运行,它负责将主服务器上二进制日志文件中的内容发送给从服务器的I/O线程。Binlog Dump线程同时还会给每个将要传输的事件加锁,一旦事件传输完毕锁就会立即释放。

(2).I/O线程
当从服务器端执行start slave语句后,便会运行一个I/O线程。它将会与主服务器建立一个连接,同时会向主服务器发出更新请求,要求将主服务器上的二进制日志文件中更新过的事件发送给此进程。之后,I/O线程会将传递过来的更新复制到本地Relay Log的日志中,通过
语句show slave status来查看I/O线程的状态,Slave_IO_Running为此线程的状态参数。

(3).SQL线程
SQL线程负责读取Relay Log日志中的更新事件,并将这些事件挨个执行,使从服务器上的数据库得到更新,同样SQL线程也要一个状态参数Slave_SQL_Running,并与I/O线程提供的状态参数一起,作为判断复制进程运行的重要参数。

备注:
主服务器端的Binlog文件是实现复制功能的首要文件,需要注意的是,在启动数据库之前,需要先启用二进制日志功能,需要将配置文件my.cnf中的参数log-bin前的注释去掉,并设置名字,例如:
[mysqld]
log_bin=mysql-bin

从服务器端的Relay Log文件,在运行start slave命令后产生。Relay Log和Binlog具有相同的格式,两个日志文件都可以通过mysqlbinlog工具来查看,不同之处在于SQL线程会自动删除Relay Log文件中已经被执行过的事件。

上述就是小编为大家分享的怎么理解MySQL Replication的复制线程了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/204263.html

(0)
上一篇 2021年11月29日
下一篇 2021年11月29日

相关推荐

发表回复

登录后才能评论