当前位置: 首页 > news >正文

从实践彻底掌握MySQL的主从复制

目录

一、本次所用结构如图---一主多从+级联:

二、IP。

三、配置M1:

四、从库M1S1:

 五、从库M2配置:

六、 从库M2S1:


一、本次所用结构如图---  一主多从+级联:

 二、IP。这里M1S1和M1S2一样的,所以就只展示M1S1了。

主机IP
M1192.168.127.160
M1S1192.168.127.161
M2192.168.127.163
M2S1192.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的主从复制

目录 一、本次所用结构如图---一主多从级联&#xff1a; 二、IP。 三、配置M1&#xff1a; 四、从库M1S1&#xff1a; 五、从库M2配置&#xff1a; 六、 从库M2S1&#xff1a; 一、本次所用结构如图--- 一主多从级联&#xff1a; 二、IP。这里M1S1和M1S2一样的&#xff0…...

机器学习深度学习——线性回归的基本元素

回归用来表示输入输出之间的关系。 用实际例子来解释一下线性回归&#xff1a;根据房屋的面积、房龄来估算房屋价格。为了实现这个预测放假的模型&#xff0c;需要收集一个真实的数据集&#xff0c;该数据集包括了房屋的销售价格、面积和房龄。 在机器学习中&#xff0c;这个数…...

K8S初级入门系列之八-网络

一、前言 本章节我们将了解K8S的相关网络概念&#xff0c;包括K8S的网络通讯原理&#xff0c;以及Service以及相关的概念&#xff0c;包括Endpoint&#xff0c;EndpointSlice&#xff0c;Headless service&#xff0c;Ingress等。 二、网络通讯原理和实现 同一K8S集群&…...

分段@Transactional 坑及失效问题

Transactional 背景&#xff1a;在某些情况下&#xff0c;我们需要分段transaction&#xff0c;在最外面没有transaction&#xff0c;里面分成几个transaction&#xff0c;保证分段是成功的。 问题代码&#xff1a; Service public Order getOrder1(String id) {Optional<Or…...

25、matlab里面的10中优化方法介绍——Opt_Golden法(matlab程序)

1.简述 基本思想 黄金分割法也称为 0.618 法&#xff0c;其基本思想是通过取试探点和进行函数值比较&#xff0c;使包含极小点的搜索区间不断缩短以逼近极小值点。适用于确定区间上的任何单谷函数求极小值的问题。 公式推导 设有定义在[ a , b ] [a,b][a,b]上的单谷函数 φ ( …...

点云拟合球体

前言&#xff1a;在很多情况下&#xff0c;需要根据点云来拟合球体&#xff0c;本博文主要介绍各种方法的拟合情况及优缺点&#xff0c;希望对各位小伙伴有所帮助&#xff01; 目录 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(:...

前端知识点视频补充

使用工具&#xff1a; Vscode使用&#xff1a; 需要下载插件&#xff1a;open in browser。这个插件可以快速打开浏览器。 选择文件夹有两种方式&#xff1a;选择打开文件、拖拽方式&#xff08;这种最方便&#xff09; 快捷键&#xff1a;快速生成Htm结构文件&#xff1a;…...

python多线程—终止子线程

总体思路 1、获取需要终止的子线程id 2、根据子线程id&#xff0c;终止子线程。 过程 获取子线程id&#xff1a; import threading Thread_id threading.get_ident() # 获取子线程的id值线程终止函数 def async_raise(Thread_id, exctype):"""raises th…...

#P1012. [NOIP2015提高组] 神奇的幻方

题目描述 幻方是一种很神奇的 N \times NNN 矩阵&#xff1a;它由数字 1,2,3, \ldots ,N \times N1,2,3,…,NN 构成&#xff0c;且每行、每列及两条对角线上的数字之和都相同。 当 NN 为奇数时&#xff0c;我们可以通过以下方法构建一个幻方&#xff1a; 首先将 11 写在第一行…...

(学习笔记-IP)Ping的工作原理

Ping是基于ICMP协议工作的&#xff0c;ICMP报文封装在IP包里面&#xff0c;它工作在网络层&#xff0c;是IP协议的助手。 ICMP包头的类型字段&#xff0c;大致可分为两大类&#xff1a; 一类是用于诊断的查询消息&#xff0c;也就是查询报文类型一类是通知出错原因的错误消息&…...

php 进程间通信:管道、uds

1、管道 1.1、管道概念 管道是单向的、先进先出的&#xff0c;它把进程的输出和另一个进程的输入连接在一起。一个进程往管道写入数据&#xff0c;另一个进程从管道读取数据。数据被从管道中读取出来之后&#xff0c;将被删除&#xff0c;其他进程无法在读取到相应的数据。管…...

Stable Diffusion如何生成高质量的图-prompt写法介绍

文章目录 Stable Diffusion使用尝试下效果prompt的编写技巧prompt 和 negative promptPrompt格式Prompt规则细节优化Guidance Scale 总结 Stable Diffusion Stable Diffusion是一个开源的图像生成AI系统,由Anthropic公司开发。它基于 Transformer模型架构,可以通过文字描述生成…...

MySQL 高级SQL语句(一)

目录 一、高级SQL语句&#xff08;进阶查询&#xff09; 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语句&#xff08;进阶查询&#xff09; 先准备2个表 一个location表&#xff1a; use m…...

SkyWalking链路追踪-技术文档首页

SkyWalking 文档中文版&#xff08;社区提供&#xff09; (skyapm.github.io)https://skyapm.github.io/document-cn-translation-of-skywalking/ SkyWalking-基本概念 SkyWalking链路追踪是一个用于分布式系统的性能监控工具&#xff0c;它帮助开发人员了解系统中各组件之间…...

AndroidStudio Memory profiler(内存分析器)

1.Record Java/Kotlin allocations 查看java 层中对象的调用栈和短时间内创建对象的次数。可用于内存抖动快速分析,可用快速查找到该对象的调用栈(等同于mat) 从上图可见&#xff0c;短时间内创建了23个char[] 数组&#xff0c;其中最大的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注释大家应该都用过&#xff0c;在注释开头打上TODO的话&#xff0c;软件下方的TODO选项卡里就可以自动筛选出你打了TODO的注释&#xff0c;你可以点击里面对应的注释来实现快速跳转。 jetbrains全家桶&#xff08;如Pycharm、Int…...

【技术干货】工业级BLE5.2蓝牙模块SKB378 使用教程,AT指令集

SKB378是一个高度集成的蓝牙5.2模组&#xff0c;可用来在2.4GHz ISM频段内做高速率、短距离无线通信。工业级标准&#xff0c;支持主从模式(1主对8从)&#xff0c;支持串口透传&#xff0c;AT指令控制&#xff0c;且支持AoA蓝牙高精度室内定位&#xff0c;模组内部集成32位ARM …...

idea大量爆红问题解决

问题描述 在学习和工作中&#xff0c;idea是程序员不可缺少的一个工具&#xff0c;但是突然在有些时候就会出现大量爆红的问题&#xff0c;发现无法跳转&#xff0c;无论是关机重启或者是替换root都无法解决 就是如上所展示的问题&#xff0c;但是程序依然可以启动。 问题解决…...

golang循环变量捕获问题​​

在 Go 语言中&#xff0c;当在循环中启动协程&#xff08;goroutine&#xff09;时&#xff0c;如果在协程闭包中直接引用循环变量&#xff0c;可能会遇到一个常见的陷阱 - ​​循环变量捕获问题​​。让我详细解释一下&#xff1a; 问题背景 看这个代码片段&#xff1a; fo…...

聊聊 Pulsar:Producer 源码解析

一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台&#xff0c;以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中&#xff0c;Producer&#xff08;生产者&#xff09; 是连接客户端应用与消息队列的第一步。生产者…...

AI编程--插件对比分析:CodeRider、GitHub Copilot及其他

AI编程插件对比分析&#xff1a;CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展&#xff0c;AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者&#xff0c;分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

2025季度云服务器排行榜

在全球云服务器市场&#xff0c;各厂商的排名和地位并非一成不变&#xff0c;而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势&#xff0c;对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析&#xff1a; 一、全球“三巨头”…...

LeetCode - 199. 二叉树的右视图

题目 199. 二叉树的右视图 - 力扣&#xff08;LeetCode&#xff09; 思路 右视图是指从树的右侧看&#xff0c;对于每一层&#xff0c;只能看到该层最右边的节点。实现思路是&#xff1a; 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...

推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)

推荐 github 项目:GeminiImageApp(图片生成方向&#xff0c;可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...

【C++进阶篇】智能指针

C内存管理终极指南&#xff1a;智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...

[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.

ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #&#xff1a…...

MySQL 主从同步异常处理

阅读原文&#xff1a;https://www.xiaozaoshu.top/articles/mysql-m-s-update-pk MySQL 做双主&#xff0c;遇到的这个错误&#xff1a; Could not execute Update_rows event on table ... Error_code: 1032是 MySQL 主从复制时的经典错误之一&#xff0c;通常表示&#xff…...