MySql主从复制的作用

  • 读写分离
  • 备份
  • 高可用
  • 架构扩展

MySql主从形式

  • 一主一从
  • 一主多从,提高系统读性能。
  • 多主一从,可以将多个数据库备份到一台性能较好的额服务器上。
  • 双主复制,互做主从复制,一方变更,会通过复制应用到另一方数据库中。
  • 级联复制,3-5个从节点连接主节点,其它节点作为二级或者三级节点与从节点相连。

MySql主从复制原理

MySql 主从复制涉及三个线程,一个运行在主节点(log dump thread),两个(I/O thread,SQL thread)运行在从节点上。

  • log dump线程:当从节点连接主节点时,主节点创建log dump线程对bin-log加锁,读取内容发送到从节点。
  • I/O线程:当从节点上执行“start skave”命令后,从节点会创建一个I/O线程用来连接主节点,请求主库中更新的bin-log。I/O线程接收到主节点binlog dump进程发来的更新之后,保存在本地relay-log中。
  • **SQL线程:**SQL线程负责读取relay-log中的内容,解析成具体的操作并执行,最终保证主从数据的一致性。

MySQL 主从复制默认是异步的模式。MySQL增删改操作会全部记录在binary log中,当slave节点连接master时,会主动从master处获取最新的bin log文件。并把bin log中的sql relay。

笔记-MySql主从复制原理01