分布式数据库同步

分布式部署时数据库之间的数据同步

数据的同步原理就是同步binlog日志到需要复制的其他的数据库上,其他数据库根据binlog日志里面的ddl和dml语句,执行该语句同步到当前数据库,就能保证多个数据库的数据的一致性。

Binlog日志主要是的数据库执行的ddl、dml语句执行的日志。
Relaylog 主要是来同步其他数据binlog,之所以需要,因为ddl、dml的执行的速度比读取binlog的数据慢,要保证的数据一致性,我们就需要先存在relaylog中。在本库中读取执行ddl、dml语句,就是通信中断也能保证数据能正常同步。

在这里插入图片描述

具体步骤:

1、 从库通过手工执行change master to 语句连接主库,提供了连接的用户需要的一切条件(user,password,port,ip),并且让从库知道,二进制日志的起点位置(file名 position号);start slave
2、 从库的IO线程和主库的dump线程建立连接。
3、 从库根据change mater to 语句提供的file名和position号,IO线程向主库发起binlog的请求。
4、 主库dump线程根据从库的请求,将本地binlog以events的方式发给从库io线程。
5、 从库io线程接收binlog events,并存放在本地的relay log中,传递过来的信息,会记录到master.Info中.
6、 从库sql线程应用relay log ,并且吧应用过的记录到relay-log.info中,默认情况下,应用过的relay会自动被清理。

mysql面试总结

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值