MySQL的主从复制

目录

1.MySQL异步复制

2.MySQL半同步复制


MySQL主从同步指的是主库与从库的数据同步问题。主要借助主库的dump线程,将主库的Binlog日志从库的relayLog日志关联来实现。

两种方式:

1.MySQL异步复制;

2.MySQL半同步复制

1.MySQL异步复制

核心步骤:

1.主库打开binlog日志,记录用户对数据的每一步操作;

2.从库打开relayLog日志,记录跟主库一样的binlog日志;

3.从库重演relayLog日志。

具体实现

1.从库启动一系列IO线程,负责与主库建立TCP连接,请求主库在写入binlog日志时,也将日志的内容向从库传输一份;

2.主库此时有一个IO dump线程,负责将Binlog日志通过TCP连接传输到从库的IO线程;(异步)

3.从库先将接收到的binLog日志写入到自己的relayLog日志当中,然后开启线程异步的重演relayLog的数据操作。(在这里就实现了主从同步,数据的同步会有一定的延迟)

 MySQL异步复制的缺点:由于主库向从库发送binlog的过程是异步的,主服务在向客户端反馈执行结果时,不知道binlog是否同步成功。这时,如果主库宕机了,而从库还没有备份到新的binlog,那么从库就会丢失数据,存在数据不一致的问题。

2.MySQL半同步复制

增加一个ack操作,Dump线程等待从库的ack确认,然后再通知客户端同步复制完成。

缺点:会造成一定程度的延迟,因为主库要等待从库的ack确认,从库ack确认后,主库才能向用户返回响应。在这期间,用户需要一直等待。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值