主从复制

概述:

  • 保证数据的安全性。
  • mysql 中提供了主从复制功能以提高服务的可用性和数据的安全性
  • 主从复制是指服务器分为主服务器和从服务器,主服务器负责读和写,从服务器只负责读,主从复制也叫master/slave, master是主,slave是从,但是并没有强制,也就是说从可以写的。主也可以读,但是我一般不这样做。

架构设计

  1. 一主多从:(保证读的高可用)

    缺点:一但主库奔溃,不能写,但是从库可以读

    有点:一但主库奔溃,不能写

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ylYw8l9E-1602763685564)(C:\Users\EDZ\AppData\Roaming\Typora\typora-user-images\image-20201015114025749.png)]

    1. 双主双从(保证写的的高可用)

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FguHzyQb-1602763685567)(C:\Users\EDZ\AppData\Roaming\Typora\typora-user-images\image-20201015114438793.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IEDQ9yge-1602763685569)(C:\Users\EDZ\AppData\Roaming\Typora\typora-user-images\image-20201015114921095.png)]

执行流行:

1.从库不断的试探主库的二进制文件日志,如果这个文件有更新则发送请求到来获取主库中的新内容

2.向主库中写文件:包括添加,删除,修改,建库。。。

3.主将写的命令记录到二进制日志文件并更新二进制日志文件中的偏移量

4.如果从库试探二进制日志文件发现偏移量从记录的偏移量值不同则表示主库有更新,那么启动I/O线 程向主库请求从某个迁移量开始到二进制文件结束所有位置的所有数据

5.主库根据从库请求的迁移量的文字推送数据到从库,然后从库接收数据,会跟新从库搜记录的迁移量 位置。然后将数据中继文件中

6.从库获取了主库的数据库以后,就这些命令数据写入中继日志文件中,然后唤醒SQL线程同时让

​ 当前的I/O挂起(休眠等待)

7、SQL线程根据的中继日志文件的偏移量中继日志文件中的命令

8、SQL线程拿到命令后在本地数据库进行回放(就是在从库中这行主库的SQL语句),回放完成当前SQL挂起,等待下一次唤醒。

注意:主从复制的过程中,有一定的延迟,但是影响很小

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值