MySQL8.0 Replication

18 篇文章 0 订阅

MySQL Replication是MySQL一个非常重要的功能,主要用于主服务器和从服务器之间的数据复制操作。主要学习MySQL Replication的基本概念、Windows环境下的复制操作、Linux环境下的复制操作、如何查看Slave的复制进度、日常管理和维护、切换主从服务器的方法等。

PART1 MySQL Replication概述

MySQL提供数据库复制(replication)功能。MySQL复制是指从一个MySQL主服务器(master)将数据复制到另一台或多台MySQL从服务器(slaves)的过程,将主数据库的DDL和DML操作通过二进制日志传到从服务器上,然后再从服务器上对这些日志重新执行,从而使得主从服务器的数据保持同步。

MySQL数据库复制操作大致可以分成3个步骤:

1. 主服务器将数据的改变记录到二进制日志中。

2. 从服务器将主服务器的binary log events复制到它的中继日志relay log中。

3. 从服务器重做中继日志中的时间,将数据的改变与从服务器保持同步。

首先,主服务器会记录二进制日志,每个事务更新数据完成之前,主服务器将这些操作的信息记录再二进制日志里面,在事件写入二进制日志完成后,主服务器通知存储引擎提交事务。

Slave上面的I/O进程连接上Master,并发出日志请求,Master接收到来自Slave的IO进程的请求后,根据请求信息添加位置信息后,返回给Slave的IO进程。返回信息中除了日志所包含的信息之外,还包含本次返回的信息已经到Master端的bin-log文件的名称以及bin-log的位置。

Slave的I/O进程接收到信息后,将接收到的日志内容依次添加到Slave端的relay-log文件的最末端,并将读取到Master端的bin-log文件名和位置记录到master-info文件中。

Slave的Sql进程检测到relay-log中新增加了内容后,会马上解析relay-log的内容成为在Master端真实执行时的那些可执行内容,并在自身执行。

MySQL复制环境90%以上都是一个Master带一个或者多个Slave的架构模式。如果Master和Slave的压力不是太大的话,异步复制的延时一般都很少。

注意:对于数据实时性要求不是特别严格的应用,只需要通过廉价的电脑服务器来扩展Slave的数量,将读压力分散到多台Slave的机器上面,即可解决数据库端的读压力瓶颈,这在很大程度上解决了目前很多中小型网站的数据库压力瓶颈问题,甚至有些大型网站也在用类似方案解决数据库瓶颈。

PART2 Windows环境下的MySQL主从复制

1. 复制前的准备工作

MySQL主从复制所需的环境
角色IP操作系统MySQL版本
Master192.168.0.208Windows10MySQL-installer-community-8.0.13.1.msi
Slave192.168.0.206Windows10MySQL-installer-community-8.0.13.1.msi

注意:读者在做实验的过程中,如果没有多的计算机实验,可以使用VMware虚拟机实现。

--end

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值