主从复制的概念
MySQL主从复制(Master-Slave Replication)是一种数据复制技术,允许将一个MySQL数据库服务器(Master,主服务器)的数据复制到一个或多个 MySQL数据库服务器(Slave,从服务器)。主从复制的主要目的是实现数据的冗余备份、读写分离、负载均衡以及高可用性。
主从复制的原理

- 当Master节点上的数据发生改动时,Master节点会将改动写入二进制日志Binlog中。
- Slave服务器每隔一段时间就会检查Master上的Binlog是否发生改变,若发生改变则会开启一个I/O线程(I/O Thread)向Master请求新增的日志内容。
- Master节点接收到请求后会为每一个Slave节点上的I/O线程启动一个dump线程,用于向其发送二进制日志。
- Slave上的I/O线程接收到dump线程发送的日志后会保存在本地的中继日志(Relay Log)中。
- Slave节点上的SQL线程(SQL Thread)再从中继日志中读取二进制日志并在本地回放,这样就使得本地数据和Master节点数据保持了一致性。