怎么理解MySQLReplication的复制线程

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

合山ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!

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的复制线程了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。


分享名称:怎么理解MySQLReplication的复制线程
网页URL:http://myzitong.com/article/gopige.html