简要的说一下 mysql 主从同步原理

请尝试在评论区里写下答案(如不能清楚表述,那么你可能没真正理解)。欢迎参与,为下一次求职做准备。

如题

滴水穿石,石破天惊----晓疯子
zhaocrazy
讨论数量: 1

:rocket: :rocket: :rocket: 最最最核心的原理:Slave 从库 读取 Masterbinlog 日志,来进行数据同步操作。


这里简单以最基础的 主从同步 举例说明,主库 Master 、 从库 Slave

  • 原理:三大主要线程,异步串行化进行数据同步
    • Binlog Dump Thread :主库将更新操作同步记录到 binlog 日志中
    • IO Thread : 从库接收主库的 binlog 日志然后转化成 relaylog 中继日志
    • Sql Thread : 从库 Sql 线程读取中继日志,执行日志中的事件,来保持和主库的数据同步
  • 具体操作
    • 主库 开启 binlog 日志,配置 server-id 唯一 ID ,当然如果可以的话,你也可以为这个主从同步申请一个单独的账号
    • 查看主机情况 show master status\G; 来获取 binlog 日志文件名 和 position 复制点
    • 从库 开启 relaylog 中继日志,配置 server-id 唯一 ID(不同于主库的ID),通过 CHANGE MASTER TO ... 语句连接到 主库
    • 查看从库情况 show slave status\G;
    • 开启同步 start slave;
4个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!