mysql数据库集群实战——mysql的异步复制(基于position和gtid的主从复制)

本文详细介绍了MySQL的异步复制,包括基于position和gtid的主从复制。首先,讲解了基于position的主从复制原理、要求及搭建过程,强调了这种复制方式可能存在的数据不一致问题。然后,深入讨论了基于gtid的复制,解释了gtid的工作流程和优势,确保了即使在主库中断的情况下也能避免数据丢失。最后,提供了基于gtid的主从复制配置步骤和验证方法。
摘要由CSDN通过智能技术生成


前言:在数据库中进行操作时,事实上大小写都是通用的,但尽量使用大写

1 mysql的异步复制(基于position的主从复制)

1.1. 如何查询官网教程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.2.MYSQL的主从复制(异步复制)的基本信息

异步复制(主从复制)master节点不会关心slave节点的状态,只需要写自己的数据即可
能不能完成复制看slave节点的io线程和sql线程是否开启

1.2.1 主从复制的要求:

1)主库开启binlog日志(设置log-bin参数)
(2)主从server-id不同
(3)从库服务器能连同主库

1.2.2 主从复制的原理:

mysql的主从配置又叫replication,AB复制,基于binlog二进制日志,主数据库必须开启binlog二进制日志才能进行复制

1) master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events);
    (2)从库生成两个线程,一个i/o线程,一个SQL线程,i/o线程去请求主库的binlog,sql线程进行日志回放来复制
    (3) slave将master的binary log events拷贝到它的中继日志(relay log);
    (4)slave重做中继日志中的事件,将更改应用到自己的数据上。

mysql的主从复制(异步复制)(基于position)把一个事件拆开来复制,并不是以一个完整的事件为单位来进行复制

一开始两个mysql必须一模一样,否则会报错 master自己做自己的,写在自己的日志里
slave能否同步成功取决于IO线程,和SQL线程回放日志 IO通过联系master拿到master的二进制日志,SQL回放日志
slave节点的数据总比master节点的数据慢

异步复制:在主节点写入日志即返回成功,默认情况下MySQL5.5/5.6/5.7和mariaDB10.0/10.1的复制功能是异步的
异步复制可以实现最佳的性能,主库把binlog日志发送给从库,这一动作就结束了,并不验证从库,会造成主从库数据不一致

1.3.搭建实验环境

两台7版本的虚拟机+一台7版本的真机

主机信息 主机的功能
server1(192.168.0.11) 数据库的master节点
server2(192.168.0.12) 数据库的slave节点
真机(192.168.0.20)- -测试-

1.4 .基于position的主从复制

异步复制:顾名思义就是两个数据库不是同步的,创建数据的时候肯定有前有后,并不是两个同时创建起数据
先创建数据的数据库叫做master节点,后面复制master节点数据的数据库叫做slave节点
因此把这种异步复制的方式也可以叫做主从复制

(1)从真机上面给server1(master节点)和server2(slave节点)各传一个mysql安装包
在这里插入图片描述

[root@server1 ~]# tar xf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar 
删除没有用的:rm -rf devel、embe、mini、server-minimal、test
最终只有5个rpm包

在这里插入图片描述
在这里插入图片描述
(2)官网参考一下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值