MySQL--主从复制

主从复制

主从复制是指将主数据库的DDL和DML操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。
MySQL支持一台主库同时向多台从库进行复制,从库同时也可以作为其他从服务器的主库,实现链状复制。
在这里插入图片描述

MySQL复制的有点主要包含以下三个方面:

  1. 主库出现问题,可以快速切换到从库提供服务。
  2. 实现读写分离,降低主库的访问压力。
  3. 可以在从库中执行备份,以避免备份期间影响主库服务。
原理

MySQL的主从复制原理如下
在这里插入图片描述

从上图来看,复制分成三步:
Master主库在事务提交时,会把数据变更记录在二进制日志文件Binlog中。
从库读取主库的二进制日志文件Binlog,写入到从库的中继日志RelayLog。
slave重做中继日志中的事件,将改变反映它自己的数据。

搭建

服务器准备
在这里插入图片描述

主库配置
1.修改配置文件/etc/my.cnf

#mysql服务ID,保证整个集群环境中唯一,取值范围:1-232-1,默认为1
server-id=1
#是否只读,1代表只读,0代表读写
read-only=0
#忽略的数据,指不需要同步的数据库
#binlog-ignore-db=mysql
#指定同步的数据库
#binlog-do-db=db01

2.重启MySQL服务器

systemctl restart mysqld

3.登录mysql,创建远程连接的账号,并授予主从复制权限

#创建itcast用户,并设置密码,该用户可在任意主机连接该MySQL服务
CREATEUSER'itcast'@'%'IDENTIFIEDWITH mysql_native_passwordBY'Root@123456';
#为itcast'@'%'用户分配主从复制权限
GRANT REPLICATIONSLAVE ON**TO'itCaSt'@'%';

4.通过指令,查看二进制日志坐标

show master status;

字段含义说明:

  • file:从哪个日志文件开始推送日志文件
  • position:从哪个位置开始推送日志
  • binlog_ignore_db:指定不需要同步的数据库

从库配置
1.修改配置文件/etc/my.cnf

#mysql服务ID,保证整个集群环境中唯一,取值范围:1-232-1,和主库不一样即可
server-id=2
#是否只读,1代表只读,0代表读写
read-only=1

2.重新启动MySQL服务

systemctl restart mysqld

3.登录mysql,设置主库配置

CHANGE REPLICATION SOURCE TO SOURCE_HOST='xXX.XXX', SOURCE_USER='xxX', SOURCE_PASSWORD='xxX', SOURCE_LOG_FILE='xXx', SOURCE_LOG_POS=XXX;

上述是8.0.23中的语法。如果mysql是8.0.23 之前的版本,执行如下SQL:

CHANGE MASTER TO MASTER_HOST='xXX.XXX.XXX.XXX', MASTER_USER='xxX', MASTER_PASSWORD='xXX', MASTER_LOG_FILE='xXX', MASTER_LOG_POS=XXX

参数名
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/201719.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

微服务链路追踪组件SkyWalking实战

概述 微服务调用存在的问题 串联调用链路,快速定位问题;理清服务之间的依赖关系;微服务接口性能分析;业务流程调用处理顺序; 全链路追踪:对请求源头到底层服务的调用链路中间的所有环节进行监控。 链路…

深入理解MySQL索引底层数据结构与算法

索引的本质 索引是帮助MySQL高效获取数据的排好序的数据结构 索引的数据结构 二叉树红黑数Hash表B-Tree MySQL索引底层为啥不用二叉树 如图,对单边增长的数据,索引效率没有什么提升 MySQL索引底层为啥不用红黑数 红黑数:二叉平衡树 随…

王道p18 04.从有序顺序表中删除其值在给定值s与1之间(要求s<1)的所有元素,若s或t不合理或顺序表为空,则显示出错信息并退出运行。(c语言代码实现)

视频讲解在这里哦(感谢支持!)👇 p18 第四题王道数据结构课后算法题(c语言代码实现)_哔哩哔哩_bilibili 本题代码如下 void deletest(struct sqlist* L, int s, int t) {int i 0;int j 0;if (s > t …

onelist能让alist聚合网盘拥有海报墙

什么是 onelist ? onelist 是一个类似 emby 的专注于刮削 alist 聚合网盘形成影视媒体库的程序。 主要解决以下痛点: alist 挂载云盘后能在网页端看视频,却没有分类,没有海报墙;使用 webdav 挂载本地后,用…

客服管理者如何有效管理客服团队,有哪些高效方式?

在如今的市场竞争中,客户服务是企业成功的关键因素之一。因此,客服团队的有效管理至关重要。客服管理者需要了解如何有效地管理客服团队,以确保客户的满意度和忠诚度,从而提高企业的竞争力。 以下是客服管理者如何有效管理客服团队…

Stable Diffusion绘画系列【6】:东方美学作品

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能AI、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推荐--…

可变参数列表

demo 2:求任意多个数据中的最大值(至少一个),要求不能使用数组 因为目前参数个数不确定,那么函数编写的时候,参数个数也无法确定,换句话说,函数也就没法编写 不过,C提供了满足该场景的解决方案&…

Qt 天气预报项目

参考引用 QT开发专题-天气预报 1. JSON 数据格式 1.1 什么是 JSON JSON (JavaScript Object Notation),中文名 JS 对象表示法,因为它和 JS 中对象的写法很类似 通常说的 JSON,其实就是 JSON 字符串,本质上是一种特殊格式的字符串…

使用影刀指令+python实现简单的长文本乱序加密

本文意在利用影刀指令python代码,实现一种较为简单的长文本加密和解密,流程结构分为两步: 加密原理–是把字符转为列表,利用列表random模块中的shuffle函数做随机乱序。解密原理–是利用了列表的索引追踪,先前创建字典…

VSCODE+QEMU+WSL调试RISCV代码(SBI、kernel)

前言 最近在对RISC-V架构比较感兴趣,正好手头有《RISC-V体系结构编程与实践》的书籍,就打算跟随笨叔将这块的知识学习起来,最开始当然是需要搭建一个基础的实验平台,本来笨叔是贴心的提供了VMare的环境,奈何天生叛逆的…

Ubuntu部署jmeter与ant

为了整合接口自动化的持续集成工具,我将jmeter与ant都部署在了Jenkins容器中,并配置了build.xml 一、ubuntu部署jdk 1:先下载jdk-8u74-linux-x64.tar.gz,上传到服务器,这里上传文件用到了ubuntu 下的 lrzsz。 ubunt…

文件基础知识

计算机中的流:在C语言中将通过输入/输出设备(键盘、内存、显示器、网络等)之间的数据传输抽象表述为“流”。 1、文本流和二进制流 在文本流中输入输出的数据是一系列的字符,可以被修改在二进制流中输入输出数据是一系列字节&am…

C++初阶(十三)vector

📘北尘_:个人主页 🌎个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上,不忘来时的初心 文章目录 一、vector的介绍二、vector的模拟实现1、模拟实现2、测试结果 一、vector的介绍 vector的文…

基于YOLOv5的人群计数系统设计系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介系统概述系统功能核心技术系统架构系统优势 二、功能三、系统四. 总结  总结 一项目简介 基于YOLOv5的人群计数系统设计是一个非常有趣且具有挑战性的项目…

html5各行各业官网模板源码下载(1)

文章目录 1.来源2.源码模板2.1 HTML5白色简洁设计师网站模板 作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/details/134682321 html5各行各业官网模板源码下载,这个主题覆盖各行业的html官网模板,效果模…

软件设计师——法律法规(一)

📑前言 本文主要是【法律法规】——软件设计师法律法规的题目,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 🌄每日…

【LeetCode刷题】数组篇1

🎇数组简单题Part 🌈 开启LeetCode刷题之旅 🌈 文章目录 🎇数组简单题Part🍰1.两数之和👑思路分析1.暴力法2.哈希表法 🍰26.删除有序数组中的重复项👑思路分析1.双指针2.利用vector…

微信小程序上传报错TypeError: Failed to fetch

上传之后报message:TypeError: Failed to fetch这个错误。 关掉项目 > 选择项目的ide界面右上有个齿轮设置 > 代理

【面试】css预处理器之sass(scss)

目录 为什么引入css预处理器 可读性 嵌套:关系明朗 选择器 属性 伪类‘’ 变量:语义明确 默认变量:美元符号 $ 变量名:值 !default 全局变量::global { $global-x: } 变量插值:#{} map键值对:$…

函数保留凸性的一些运算,限制为一条线

凸优化在学术研究中非常重要,经常遇到的问题是证明凸性。常规证明凸性的方式是二阶导数的黑塞矩阵为半正定,或者在一维函数时二阶导数大于等于零。但很多时候的数学模型并不那么常规、容易求导的,若能够知道一些保留凸性的运算,将…