从实践彻底掌握MySQL的主从复制
目录
一、本次所用结构如图---一主多从+级联:
二、IP。
三、配置M1:
四、从库M1S1:
五、从库M2配置:
六、 从库M2S1:
一、本次所用结构如图--- 一主多从+级联:

二、IP。这里M1S1和M1S2一样的,所以就只展示M1S1了。
| 主机 | IP |
| M1 | 192.168.127.160 |
| M1S1 | 192.168.127.161 |
| M2 | 192.168.127.163 |
| M2S1 | 192.168.127.162 |
三、配置M1:
#配置文件
[root@# masterI ~]# vim /etc/my.cnf
[mysqld]
character-set-server=utf8mb4
log_bin = mysql-bin
server_id = 160
#创建同步用户
M1 [(none)]>grant replication slave on *.* to 'sync'@'192.168.127.%' identified by 'Sync=12345.';M1 [(none)]>show grants for 'sync'@'192.168.127.%' ;
+----------------------------------------------------------+
| Grants for sync@192.168.127.% |
+----------------------------------------------------------+
| GRANT REPLICATION SLAVE ON *.* TO 'sync'@'192.168.127.%' |
+----------------------------------------------------------+
1 row in set (0.00 sec)#备份数据库用于slave同步
M1 [(none)]>FLUSH TABLES WITH READ LOCK; #先锁表
[root@masterI ~]# mysqldump -u root -pRoot=12345. -B haxi school > /backup/all_`date +%F`.sql#将数据传给从库
[root@# masterI ~]# scp /backup/all_2023-07-25.sql 192.168.127.161:/backup/
root@192.168.127.161's password:
all_2023-07-25.sql 100% 7435 3.1MB/s 00:00
[root@# masterI ~]# scp /backup/all_2023-07-25.sql 192.168.127.162:/backup/
root@192.168.127.162's password:
all_2023-07-25.sql 100% 7435 6.2MB/s 00:00
[root@# masterI ~]# scp /backup/all_2023-07-25.sql 192.168.127.163:/backup/
root@192.168.127.163's password:
all_2023-07-25.sql 100% 7435 3.5MB/s 00:00#当完成备份后解锁:
M1 [(none)]>UNLOCK TABLES;
四、从库M1S1:
#配置文件
[root@Node01 ~]# vim /etc/my.cnf
[mysqld]
character-set-server=utf8mb4
server_id = 161#将M1已原有的库数据同步到从库 ---其他两个均同
[root@Node01 backup]# mysql -uroot -pRoot=12345. < /backup/all_2023-07-25.sql
[root@Node01 backup]# mysql -uroot -pRoot=12345. -e 'show databases;'
+--------------------+
| Database |
+--------------------+
| information_schema |
| haxi |
| mysql |
| performance_schema |
| school |
| sys |
+--------------------+#查看主库的二进制文件和position
M1 [(none)]>show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql_bin.000005 | 449 | | | |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)#指定主库具体信息
M1S1 [(none)]>stop slave; #---先停止从库同步
Query OK, 0 rows affected (0.01 sec)M1S1 [(none)]>change master to-> master_host='192.168.127.160', -> master_port=3306,-> master_user='sync',-> master_password='Sync=12345.',-> master_log_file='mysql_bin.000005',-> master_log_pos=449;
Query OK, 0 rows affected, 2 warnings (0.01 sec)M1S1 [(none)]>start slave; #---开启从库同步
Query OK, 0 rows affected (0.01 sec)
检测slave状况:mysql> show slave status \G;

- 在主库创建一个名为:name1的数据库,到从库查看同步情况。


五、从库M2配置:
#基本与M1相同,但是M2S2需要从M2同步数据,所以M2需要开启二进制日志文件。
[root@Node03 ~]# vim /etc/my.cnf
[mysqld]
character-set-server=utf8mb4
log_bin = mysql-bin
server_id = 163log_slave_updates=on #---表示从服务器将M2将来自主服务器的二进制日志事件写入自己的二进制日志中用于自己的从服务器M2S1进行同步
#需要一个用户用于同步
M2S1 [(none)]>grant replication slave on *.* to 'sync'@'192.168.127.%' identified by 'Sync=12345.';
- 在主库创建一个名为:name1的数据库,到从库查看同步情况


六、 从库M2S1:
[root@Node02 ~]# vim /etc/my.cnf
[mysqld]
character-set-server=utf8mb4
server_id = 162M2 [(none)]>show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql_bin.000001 | 449 | | | |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)M2S1 [(none)]>stop slave;
Query OK, 0 rows affected, 1 warning (0.00 sec)M2S1 [(none)]>change master to-> master_host='192.168.127.163', -> master_port=3306,-> master_user='sync',-> master_password='Sync=12345.',-> master_log_file='mysql_bin.000001',-> master_log_pos=449;
Query OK, 0 rows affected, 2 warnings (0.00 sec)M2S1 [(none)]>start slave;
Query OK, 0 rows affected (0.01 sec)
检查slave状况:

- 四个主机数据库不完全一致是因为我在配置过程中是分开配置检查;
- 但是通过最后的主库创建的数据库name3可以看到所有从库都能够实现同步 !
相关文章:
从实践彻底掌握MySQL的主从复制
目录 一、本次所用结构如图---一主多从级联: 二、IP。 三、配置M1: 四、从库M1S1: 五、从库M2配置: 六、 从库M2S1: 一、本次所用结构如图--- 一主多从级联: 二、IP。这里M1S1和M1S2一样的࿰…...
机器学习深度学习——线性回归的基本元素
回归用来表示输入输出之间的关系。 用实际例子来解释一下线性回归:根据房屋的面积、房龄来估算房屋价格。为了实现这个预测放假的模型,需要收集一个真实的数据集,该数据集包括了房屋的销售价格、面积和房龄。 在机器学习中,这个数…...
K8S初级入门系列之八-网络
一、前言 本章节我们将了解K8S的相关网络概念,包括K8S的网络通讯原理,以及Service以及相关的概念,包括Endpoint,EndpointSlice,Headless service,Ingress等。 二、网络通讯原理和实现 同一K8S集群&…...
分段@Transactional 坑及失效问题
Transactional 背景:在某些情况下,我们需要分段transaction,在最外面没有transaction,里面分成几个transaction,保证分段是成功的。 问题代码: Service public Order getOrder1(String id) {Optional<Or…...
25、matlab里面的10中优化方法介绍——Opt_Golden法(matlab程序)
1.简述 基本思想 黄金分割法也称为 0.618 法,其基本思想是通过取试探点和进行函数值比较,使包含极小点的搜索区间不断缩短以逼近极小值点。适用于确定区间上的任何单谷函数求极小值的问题。 公式推导 设有定义在[ a , b ] [a,b][a,b]上的单谷函数 φ ( …...
点云拟合球体
前言:在很多情况下,需要根据点云来拟合球体,本博文主要介绍各种方法的拟合情况及优缺点,希望对各位小伙伴有所帮助! 目录 1. vtkFitImplicitFunction进行球拟合 2. 四点求解球 1. vtkFitImplicitFunction进行球拟合 …...
基于动态规划(DP)算法的增程式EV能量管理策略研究(MATLAB编程)
文章目录 算法代码仿真结果结果分析算法代码 clc; clear; close all; load CWTVC.mat N=length(T_z); %N=200;load minFuelConsup.txt minFuel_Pe=minFuelConsup(:...
前端知识点视频补充
使用工具: Vscode使用: 需要下载插件:open in browser。这个插件可以快速打开浏览器。 选择文件夹有两种方式:选择打开文件、拖拽方式(这种最方便) 快捷键:快速生成Htm结构文件:…...
python多线程—终止子线程
总体思路 1、获取需要终止的子线程id 2、根据子线程id,终止子线程。 过程 获取子线程id: import threading Thread_id threading.get_ident() # 获取子线程的id值线程终止函数 def async_raise(Thread_id, exctype):"""raises th…...
#P1012. [NOIP2015提高组] 神奇的幻方
题目描述 幻方是一种很神奇的 N \times NNN 矩阵:它由数字 1,2,3, \ldots ,N \times N1,2,3,…,NN 构成,且每行、每列及两条对角线上的数字之和都相同。 当 NN 为奇数时,我们可以通过以下方法构建一个幻方: 首先将 11 写在第一行…...
(学习笔记-IP)Ping的工作原理
Ping是基于ICMP协议工作的,ICMP报文封装在IP包里面,它工作在网络层,是IP协议的助手。 ICMP包头的类型字段,大致可分为两大类: 一类是用于诊断的查询消息,也就是查询报文类型一类是通知出错原因的错误消息&…...
php 进程间通信:管道、uds
1、管道 1.1、管道概念 管道是单向的、先进先出的,它把进程的输出和另一个进程的输入连接在一起。一个进程往管道写入数据,另一个进程从管道读取数据。数据被从管道中读取出来之后,将被删除,其他进程无法在读取到相应的数据。管…...
Stable Diffusion如何生成高质量的图-prompt写法介绍
文章目录 Stable Diffusion使用尝试下效果prompt的编写技巧prompt 和 negative promptPrompt格式Prompt规则细节优化Guidance Scale 总结 Stable Diffusion Stable Diffusion是一个开源的图像生成AI系统,由Anthropic公司开发。它基于 Transformer模型架构,可以通过文字描述生成…...
MySQL 高级SQL语句(一)
目录 一、高级SQL语句(进阶查询) 1.1 select 1.2 distinct 1.3 where 1.4 and 和 or 1.5 in 1.6 between 1.7 通配符 1.8 like 1.9 order by 一、高级SQL语句(进阶查询) 先准备2个表 一个location表: use m…...
SkyWalking链路追踪-技术文档首页
SkyWalking 文档中文版(社区提供) (skyapm.github.io)https://skyapm.github.io/document-cn-translation-of-skywalking/ SkyWalking-基本概念 SkyWalking链路追踪是一个用于分布式系统的性能监控工具,它帮助开发人员了解系统中各组件之间…...
AndroidStudio Memory profiler(内存分析器)
1.Record Java/Kotlin allocations 查看java 层中对象的调用栈和短时间内创建对象的次数。可用于内存抖动快速分析,可用快速查找到该对象的调用栈(等同于mat) 从上图可见,短时间内创建了23个char[] 数组,其中最大的char[] 占用20k, 查看cll stack 调用…...
【C++模板进阶】
目录 一、模板使用时的一个小注意点二、非类型模板参数三、类模板的特化3.1函数模板的特化3.2类模板的特化3.2.1全特化3.2.2偏特化 四、模板的分离编译4.1模板不支持分离编译4.2模板分离编译报错的分析4.2解决方案 五、模板的总结 一、模板使用时的一个小注意点 在使用模板时&…...
(一)RabbitMQ概念-优势、劣势、应用场景 、AMQP、工作原理
Lison <dreamlison163.com>, v1.0.0, 2023.06.22 RabbitMQ概念-优势、劣势、应用场景 、AMQP、工作原理 文章目录 RabbitMQ概念-优势、劣势、应用场景 、AMQP、工作原理RabbitMQ概念RabbitMQ的优势RabbitMQ劣势RabbitMQ应用的场景RabbitMQ_AMQPRabbitMQ工作原理 RabbitM…...
JetBrains全家桶:如何自定义实现类TODO注释?
文章目录 效果图具体方法参考文献 效果图 TODO注释大家应该都用过,在注释开头打上TODO的话,软件下方的TODO选项卡里就可以自动筛选出你打了TODO的注释,你可以点击里面对应的注释来实现快速跳转。 jetbrains全家桶(如Pycharm、Int…...
【技术干货】工业级BLE5.2蓝牙模块SKB378 使用教程,AT指令集
SKB378是一个高度集成的蓝牙5.2模组,可用来在2.4GHz ISM频段内做高速率、短距离无线通信。工业级标准,支持主从模式(1主对8从),支持串口透传,AT指令控制,且支持AoA蓝牙高精度室内定位,模组内部集成32位ARM …...
第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...
Chapter03-Authentication vulnerabilities
文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...
地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...
RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...
docker详细操作--未完待续
docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...
SciencePlots——绘制论文中的图片
文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...
shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...
