mysql主从同步原理+主从数据库数据不同步问题分析

  1. 主从同步:
    (1) 数据库建立主库和从库,从库是主库的备份
    (2)主库数据更新,从库数据也要随之更新
    (3)主库和从库的物理地址不同,可以保证数据备份
    (4)主库只负责写操作(写入数据库),从库只负责读操作(从数据库读出数据),实现数据库读写分离,提高读取效率
    (5)很明显,读操作要比写操作多很多,所以一般是一主多从的形式
    (6)主库开启binlog日志,数据操作会将sql写入binlog传给从库,从库执行操作实现数据同步

  2. 主从数据库数据不同步问题:
    (1) 问题:主库数据的更新没有及时更新到从库
    (2) 结果:从库执行写操作得到的结果与主库数据不一致
    (3) 分析:mysql的主从复制都是单线程的操作,主库对所有DDL和DML产生binlog,binlog是顺序写,所以效率很高,从库的IO线程到主库取日志,效率比较高,但执行的时候,DML和DDL的IO操作是随即的,不是顺序的,成本高很多,还可能可slave上的其他查询产生lock争用,由于执行操作也是单线程,所以如果一个操作卡住,后面的操作就会等待前面的操作完成。master可以依靠高并发解决问题,从库却不可以。
    (4) 解决:目前无较好的解决方案,只能等待数据同步完成,或者临时切换主库进行读操作,但这样会增加主库的压力。
    (5) 预防:一主多从、多从放在多个物理机上、使用缓存等等,都是用来分担读写压力

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值