上传者: mfkqwyc86
|
上传时间: 2019-12-21 20:19:03
|
文件大小: 480KB
|
文件类型: pdf
1.1 1、MySQL 的复制原理以及流程
(1)、复制基本原理流程
1. 主:binlog 线程——记录下所有改变了数据库数据的语句,放进master 上的binlog 中;
2. 从:io 线程——在使用start slave 之后,负责从master 上拉取binlog 内容,放进自己的relay log
中;3. 从:sql 执行线程——执行relay log 中的语句;
(2)、MySQL 复制的线程有几个及之间的关联
MySQL 的复制是基于如下3 个线程的交互( 多线程复制里面应该是4 类线程):
1. Master 上面的binlog dump 线程,该线程负责将master 的binlog event 传到slave;
2. Slave 上面的IO 线程,该线程负责接收Master 传过来的binlog,并写入relay log;
3. Slave 上面的SQL 线程,该线程负责读取relay log 并执行;
4. 如果是多线程复制,无论是5.6 库级别的假多线程还是MariaDB 或者5.7 的真正的多线程复制, SQL 线
程只做coordinator,只负责把relay log 中的binlog 读出来然后交给worker 线程, woker 线程负
责具体binlog event 的执行
更多面试题,请下载附件......