跳到主要内容

MySQL 主从复制

如何提交 MySQL 效率?

  1. 优化 SQL索引
  2. 使用缓存(一般是 Redis
  3. 主从架构

三者的顺序应该从上到下。

主从架构的作用

  1. 读写分离(更高的并发,减少锁表的影响)

  1. 数据备份
  2. 高可用

主从架构的原理

Slave 会从 Master 读取 binlog 来进行数据同步。

涉及到三个线程

  • 二进制日志转储线程 binlog dump thread:主库线程,当从库线程连接的时候,主库可以讲二进制日志发送给从库,当主库读取事件 Event 的时候, 会在 Binlog 上加锁,读取完成之后,再将锁释放掉。
  • 从库 I/O 线程:会连接到主库,向主库发送请求更新 Binlog。这时从库的 I/O 线程就可以读取到主库的二进制日志转储线程发送的 Binlog 更新部分,并且拷贝到本地的中继日志 (Relay log)。
  • 从库 SQL 线程:会读取从库中的中继日志,并且执行日志中的事件,将从库中的数据与主库保持同步。