mysql主从同步简单原理_简单认识mysql主从同步原理

简单认识mysql主从同步原理

发布时间:2020-05-08 11:27:21

来源:亿速云

阅读:169

作者:三月

下面跟着笔者一起来了解下简单认识mysql主从同步原理,相信大家看完肯定会受益匪浅,文字在精不在多,希望简单认识mysql主从同步原理这篇短内容是你想要的。

mysql主从复制介绍

当前的生产工作中,大多数应用的mysql主从同步都是异步的复制方式,即不是严格实时的数据同步。

实时和异步:

同步复制: 指的是客户端连接到MySQL主云服务器写入一段数据, MySQL主云服务器同步给MySQL从云服务器需要等待从云服务器发出同步完成的响应才返回客户端OK, 这其中等待同步的过程是阻塞的, 如果有N台从云服务器, 效率极低

异步复制: 指的是客户端连接到MySQL主云服务器写入一段数据, MySQL主云服务器将写入的数据发送给MySQL从云服务器, 然后直接返回客户端OK, 可能从云服务器的数据会和主服务不一致

半同步复制:指的是客户端连接到MySQL主云服务器写入一段数据, MySQL主云服务器只将数据同步复制给其中一台从云服务器, 半同步复制给其他的从云服务器, 来达到其中一台从云服务器完全同步的效果

主从复制原理:

84fc9016e32fbfe5f568491ab889ab9b.png

从库需要两个线程完成,一个叫做I/O线程,一个叫做sql线程

主库需要一个线程叫做I/O线程

主库必须要开启binlog日志才能完成主从同步,当用户请求到主的库里面,会将增删改的东西记录到binlog日志里面,主从复制是从库去找主库的,建立时,我们在从库上使用change master指定master的ip,端口,二进制文件名称,pos,master的密码等信息。并在从库上开启start  slave就会开启同步。

开启同步后,先是从向主发起请求。然后主库进行验证从库是否正常,验证之后,主库就会给从库按照信息发送日志,从库上存放日志的地方叫做中继日志(relay log),其实从库里面还有一个master info信息,这个里面记录的是change master的信息,每一次取日志回来都会对从库的master  info信息进行更新,接下来从库根据master  info的binlog信息去主库在取跟新的binlog信息,

放到中继日志里面,我们如何进行更新?

当主将binlog发送过来放到中继日志里面的时候,sql线程就会语句经过转换写到从库里面。

注意

1.开启binlog日志

2.change master(在从库上)

3.在从库开启start slave之前。这两个库的数据必须是一样的,所以讲主库的数据进行备份使用master-data=1,会记录位置的。然后从库会指定从主库备份里面找备份点。

4.要在开关之前建立专门用于主从同步的账号

5.从库打开开关的过程,其实就是打来从库两个线程的过程

6.start slave

主库返回的除了binlog日志内容外,还有本次返回日志内容后在Master云服务器端的新的binlog文件名称以及在binlog中的下一个指定更新的位置。这个位置会保存在从库的master info里面。

>flush tables  with read  lock;在主库上执行加上读锁

然后另开一个窗口,连接到主mysql

>show master  status;  查看主库的binlog以及pos值。

下来是备份主库数据,将备份数据在从库上执行。目的就是让从库和主库的数据一样。

从库将主库的备份数据导入完了以后要将锁打来:

>unlocks  tables;

然后在从库上执行change  master语句。这些信息会记录在从库的master.info的信息中;(如果你备份的时候指定master-data=1)

最后一步开启start  slave;

查看是否成功使用show slave  status; 查看两个进程是否为yes。

从库里面的relay-log.info:记录sql线程从中继里面读取到的日志。

看完简单认识mysql主从同步原理这篇文章后,很多读者朋友肯定会想要了解更多的相关内容,如需获取更多的行业信息,可以关注我们的行业资讯栏目。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值