Mysql——双机同步

news2024/9/23 11:25:26

遇到一个需求,需要两台服务器的上的mysql数据库数据实时同步,包括结构也同步。
利用mysql本身的binlog确实实现了这个效果,但是因为个实际业务场景不满足,所以pass掉了,但是记录一下。
在这里插入图片描述

目录

  • 一、环境
  • 二、配置
    • 2.1 创建同步账号
    • 2.2 配置文件
  • 三、同步
    • 3.1 主从同步
    • 3.2 双向同步
  • 四、测试

一、环境

我这里两台数据库用的都是mysql 5.7.27,通过docker安装的。

二、配置

从我个人理解的角度就是,这两台服务器互为主从,让他们其中修改的时候另一方跟着修改。

服务器1:192.168.254.129
服务器2:192.168.254.130
同步数据库:demo

2.1 创建同步账号

为其他服务器提供同步账号

服务器1(192.168.254.129)

grant replication slave on demo.* to 'tongbu'@'192.168.254.130' identified by '123456';
FLUSH PRIVILEGES;

服务器2(192.168.254.130)

grant replication slave on demo.* to 'tongbu'@'192.168.254.129' identified by '123456';
FLUSH PRIVILEGES;

2.2 配置文件

修改mysql的配置文件,在[mysqld]下添加对应的内容:

server-id:保持唯一性
binlog-do-db:记录监听的数据
replicate-do-db:接收同步的数据库


注意:修改完配置文件后,需要重启mysql

服务器1(192.168.254.129)

[mysqld]
 
log-bin=mysql-bin
binlog_format=mixed
server-id = 1
binlog-do-db = demo
replicate-do-db = demo
log-slave-updates

服务器2(192.168.254.130)

[mysqld]
 
log-bin=mysql-bin
binlog_format=mixed
server-id = 2
binlog-do-db = demo
replicate-do-db = demo
log-slave-updates

三、同步

3.1 主从同步

让服务器2实时同步服务器1的数据库

在服务器1(192.168.254.129)上查看master状态

show master status;

在这里插入图片描述
在服务器2(192.168.254.130)执行以下命令,根据上面查看信息修改参数

change master to master_host='192.168.254.129',master_user='tongbu',master_password='123456',master_log_file='mysql-bin.000004',master_log_pos=626;
start slave;

3.2 双向同步

重复上面的操作
在服务器2(192.168.254.130)上查看master状态

show master status;

在这里插入图片描述

在服务器1(192.168.254.129)执行以下命令,根据上面查看信息修改参数

change master to master_host='192.168.254.130',master_user='tongbu',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=362;
start slave;

四、测试

在服务器1(192.168.254.129)的demo库里创建t_user表

CREATE TABLE t_user (
id varchar(5) not null PRIMARY KEY,
name varchar(45) not null,
password varchar(45) not null)

查看服务器2(192.168.254.1130)的demo库,也创建了t_user表
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

件测试之易用性测试

一、易用性测试概述我们所说的易用性测试是指软件界面的测试,而对于产品的易用性来说,不仅仅是软件界面,还包括硬件(即产品的外观),如按钮图标是否易懂、菜单是否易找到等。易用性主要研究3个方向:用户研究、交互设计、…

【使用两个队列实现栈】

文章目录前言使用两个队列实现栈1.队列接口函数引入2.栈的初始化3.向栈中插入元素4.出栈操作5.取出栈顶元素6.判断栈是否为空7.释放内存空间总结前言 本文章主要介绍栈和队列的相互转换。 使用两个队列实现栈 我们知道,栈的特点是后进先出,而队列的特点…

[工具笔记]1.UnityEngine.Plane

public struct Plane : IFormattable{} Plane是存在于 3D 空间中,无限大的平坦表面,将空间划分为两半(称为半空间)。可方便地确定特定点处于两个半空间的哪一个中,以及确定该点与平面相距多远。 此对象在unity并不可见…

一分钟掌握技术术语:API(接口)

很多产品经理在项目开发过程中经常听到:你调我这个接口就好了;这个功能你写个接口给我;有什么不懂的就看下API接口文档。 开发经常说的接口是什么意思呢?术语解释:API(Application Programming Interface&…

【C++】泛型编程——模板初阶

文章目录1. 泛型编程2. 函数模板2.1 函数模板的概念2.2 函数模板的使用2.3 函数模板的原理2.4 函数模板的实例化隐式实例化显式实例化2.5 模板参数的匹配原则3. 类模板1. 泛型编程 首先我们来思考一个问题:如何实现一个通用的交换函数呢? 即我们想交换两…

神经网络中的激活函数

文章目录为什么要使用激活函数常用的激活函数如何选择激活函数ReLU激活函数的优点及局限性为什么Sigmoid和Tanh会导致梯度消失的问题为什么Tanh收敛速度⽐Sigmoid快?为什么要使用激活函数 在真实情况中,我们往往会遇到线性不可分问题,需要非…

汇编指令学习(MOV,MOVSX,MOVZX,LEA,XCHG)

一、MOV指令1、将十六进制0x1234数值,赋值给eax寄存器mov eax,0x12342、将十六进制0x123数值,赋值给内存地址为ebxmov dword [ebx],0x1233、将edx的高八位赋值给eax的低八位ax,eax的低16位,al,eax的低8位,a…

RedisTemplate 的基本使用手把手教

下载实例源码 使用步骤 1、引入 spring-boot-starter-data-redis 依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId> </dependency>2、在 application.yml 配置 R…

一文分析Linux虚拟化KVM-Qemu之virtqueue

说明&#xff1a; KVM版本&#xff1a;5.9.1QEMU版本&#xff1a;5.0.0工具&#xff1a;Source Insight 3.5&#xff0c; Visio 1. 概述 前边系列将Virtio Device和Virtio Driver都已经讲完&#xff0c;本文将分析virtqueue&#xff1b;virtqueue用于前后端之间的数据交换&…

[4.10]-AutoSAR零基础学习-Secure Debug(SHE+)(一)

目录 1 内部调试保护概述 2 UCB confirmation AURIXTM 设备提供多个安全保护层&#xff0c;以限制调试器访问整个微控制器。 保护层的配置基于用户配置块 UCB&#xff0c;存在于DFlash上&#xff08;DF_UCB&#xff09;。UCB 包含保护设置参数和其他可由用户配置的参数。 DF_…

使用Python对excel中的数据进行处理

一、读取excel中的数据首先引入pandas库&#xff0c;没有的话使用控制台安装 —— pip install pandas 。import pandas as pd #引入pandas库&#xff0c;别名为pd#read_excel用于读取excel中的数据&#xff0c;这里只列举常用的两个参数&#xff08;文件所在路径&#xff…

华为OD机试模拟题 用 C++ 实现 - 连续子串(2023.Q1)

最近更新的博客 【华为OD机试模拟题】用 C++ 实现 - 最多获得的短信条数(2023.Q1)) 文章目录 最近更新的博客使用说明连续子串题目输入输出示例一输入输出说明Code使用说明 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。 华为 OD …

SQL Server开启CDC的完整操作过程

这里写自定义目录标题写在前面SQL Server开启CDC1. 将指定库的实例先开启CDC2. 开启需要开启CDC的表3. 关闭CDC功能更详细信息参照官网写在前面 鉴于老旧数据的结构和项目都在sqlserver上存储&#xff0c;且迁移成本巨大&#xff0c;当下要为sqlserver的存储过程减负。要将一部…

深入理解Spring MVC下

上一篇博客从理论概念上来梳理Spring MVC相关知识&#xff0c;此篇博客将通过spring官网提供showcase代码为例子&#xff0c;详细介绍showcase代码中包含的各个例子是如何实现的。官网的showcase代码包含的主要例子包括&#xff0c;Demo地址&#xff1a;Mapping Requests&#…

2023王道考研数据结构笔记第一章绪论

第一章 绪论 1.1 数据结构的基本概念 1.数据&#xff1a;数据是信息的载体&#xff0c;是描述客观事物属性的数、字符以及所有能输入到计算机中并被程序识别和处理的符号的集合。 2.数据元素&#xff1a;数据元素是数据的基本单位&#xff0c;通常作为一个整体进行考虑和处理…

【LeetCode】2363. 合并相似的物品

2363. 合并相似的物品 题目描述 给你两个二维整数数组 items1 和 items2 &#xff0c;表示两个物品集合。每个数组 items 有以下特质&#xff1a; items[i] [valuei, weighti] 其中 valuei 表示第 i 件物品的 价值 &#xff0c;weighti 表示第 i 件物品的 重量 。items 中每…

cpp之STL

STL原理 STL ⼀共提供六⼤组件&#xff0c;包括容器&#xff0c;算法&#xff0c;迭代器&#xff0c;仿函数&#xff0c;适配器和空间配置器&#xff0c;彼此可以组合套⽤。容器通过配置器取得数据存储空间&#xff0c;算法通过迭代器存取容器内容&#xff0c;仿函数可以协助算…

电子科技大学软件工程期末复习笔记(九):项目管理

目录 前言 重点一览 软件项目管理的四大要素 团队组织方式 虚拟团队 软件范围 项目计划 P-CMM的5个级别 本章小结 前言 本复习笔记基于王玉林老师的课堂PPT与复习大纲&#xff0c;供自己期末复习与学弟学妹参考用。 重点一览 本节是软件工程复习笔记的最后一篇&…

Hive---Zeppelin安装教程

Zeppelin安装教程 安装zeppelin必须基于Hadoop和Hive上 文章目录Zeppelin安装教程简介安装步骤1.上传zeppelin压缩包2.解压并更名3.修改配置文件编辑zeppelin-site.xml---将配置文件的ip地址和端口号进行修改编辑 zeppelin-env.sh---添加JDK和Hadoop环境拷贝hive文件切换目录拷…

数据结构与算法(六):图结构

图是一种比线性表和树更复杂的数据结构&#xff0c;在图中&#xff0c;结点之间的关系是任意的&#xff0c;任意两个数据元素之间都可能相关。图是一种多对多的数据结构。 一、基本概念 图&#xff08;Graph&#xff09;是由顶点的有穷非空集合和顶点之间边的集合组成&#x…