Mysql 8.4.0 结合 Docker 搭建GTID主从复制,以及传统主从复制

news/2025/3/10 18:43:25/文章来源:https://www.cnblogs.com/yfeil/p/18237529

注意:本教程不适用旧版本,Mysql 8.4.0 和 旧版本,主从复制相关命令有所变化,具体区别请看文末参考

软件版本

Docker:26.1.3

Mysql:8.4.0

 

GTID主从复制

1.准备主从两台服务器

2.两台服务器分别创建DockerCompose文件

services:mysql:image: mysql:8.4.0ports:- "3306:3306"environment:MYSQL_ROOT_PASSWORD: abc123volumes:- ./data:/var/lib/mysql- ./config:/etc/mysql/conf.drestart: always

3.主库服务器导入配置到 config/my.cnf

[mysqld]
gtid_mode=ON
enforce-gtid-consistency=ON

4.从库服务器导入配置到 config/my.cnf

[mysqld]
gtid_mode=ON
enforce-gtid-consistency=ON
server-id = 2

5.启动两个容器

6.主库创建复制账户

CREATE USER 'repl' IDENTIFIED BY 'abc123';
GRANT REPLICATION SLAVE ON *.* TO 'repl';

7.从库接入

7.1.配置复制源:

CHANGE REPLICATION SOURCE TOSOURCE_HOST = '192.168.1.113',SOURCE_PORT = 3306,SOURCE_USER = 'repl',SOURCE_PASSWORD = 'abc123',SOURCE_AUTO_POSITION = 1,SOURCE_SSL = 1;

7.2.启动复制进程:

START REPLICA;

7.3.查看复制状态:

SHOW REPLICA STATUS;

主要看这两个,都是Yes代表就绪

两个扩展SQL:

停止复制进程:STOP REPLICA;

重置复制配置:RESET REPLICA ALL;

8.主从复制配置完毕

接下来所有主库的变化都会同步到从库,但是要注意,从库非只读状态,要杜绝直接修改从库,否则可能会导致冲突。

 

传统主从复制

1.准备主从两台服务器

2.两台服务器分别创建DockerCompose文件

services:mysql:image: mysql:8.4.0ports:- "3306:3306"environment:MYSQL_ROOT_PASSWORD: abc123volumes:- ./data:/var/lib/mysql- ./config:/etc/mysql/conf.drestart: always

3.从库服务器导入配置到 config/my.cnf

[mysqld]
server-id = 2

4.启动两个容器

5.主库创建复制账户

CREATE USER 'repl' IDENTIFIED BY 'abc123';
GRANT REPLICATION SLAVE ON *.* TO 'repl';

5.查看主库日志文件名、指针

执行SQL:SHOW BINARY LOG STATUS;

6.从库接入

6.1.配置复制源:

填入主库的文件名、指针

CHANGE REPLICATION SOURCE TOSOURCE_HOST='192.168.1.113',SOURCE_USER='repl',SOURCE_PASSWORD='abc123',SOURCE_LOG_FILE='binlog.000002',SOURCE_LOG_POS=682,SOURCE_SSL = 1;

6.2.启动复制进程:

START REPLICA;

6.3.查看复制状态:

SHOW REPLICA STATUS;

主要看这两个,都是Yes代表就绪

两个扩展SQL:

停止复制进程:STOP REPLICA;

重置复制配置:RESET REPLICA ALL;

7.主从复制配置完毕

接下来所有主库的变化都会同步到从库,但是要注意,从库非只读状态,要杜绝直接修改从库,否则可能会导致冲突。

 

参考

MySQL :: MySQL 8.4 Reference Manual :: 19.1.2 Setting Up Binary Log File Position Based Replication

MySQL :: MySQL 8.4 Reference Manual :: 19.1.3.4 Setting Up Replication Using GTIDs

MySQL 8.4.0 LTS 变更解析:MySQL 的复制与组复制 - 墨天轮 (modb.pro)

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue Router 4与路由管理实战

这篇文章介绍了如何在Vue.js应用中利用Vue Router实现单页面应用的路由管理,包括配置路由、导航守卫的使用、路由懒加载以优化性能以及动态路由的实现方法,旨在提升用户体验和应用加载效率title: Vue Router 4与路由管理实战 date: 2024/6/7 updated: 2024/6/7 excerpt: 这篇…

Body SweptSolid CompositeCurve Geometry

Body SweptSolid CompositeCurve Geometry 下图显示了应用此概念时使用的泛型类和关系。此外,概念可能对通用或标准化的行业实践和场景具有特别重要的意义。对于这些特定的使用场景,下表显示了用户可能采用的一般使用模式的推荐列表。 #####################################…

设备树学习

设备树(Device Tree),将这个词分开就是“设备”和“树”,描述设备树的文件叫做 DTS(DeviceTree Source),这个 DTS 文件采用树形结构描述板级设备,也就是开发板上的设备信息,比如CPU 数量、 内存基地址、 IIC 接口上接了哪些设备、 SPI 接口上接了哪些设备等等。具体如下图…

平稳交付 20+ 医院,卓健科技基于 OpenCloudOS 的落地实践

本文将会阐述卓健科技运用 OpenCloudOS 的背景情况,深入探究其背后的缘由以及详细的实践流程。导语:随着数字化转型于各个行业领域当中持续地深入推进,充当底层支撑的操作系统正发挥着愈发关键且重要的作用。卓健科技把 OpenCloudOS 当作首要的交付系统,达成了项目交付速度…

机器学习笔记(2): Logistic 回归

Logistic 回归是线性回归中一个很重要的部分。 Logistic 函数: \[\sigma(x) = \frac {L} {1 + \exp(-k(x - x_0))} \]其中:\(L\) 表示最大值 \(x_0\) 表示对称中心 \(k\) 表示倾斜度一般来说,都将 \(L\) 设为 \(1\),而 \(k\) 和 \(x_0\) 在参数中控制。认为特征只有一个,那…

AI智能助手(web端和h5端)

需要在平台右下角设置一个图标,点击后可弹出智能助手弹框,同时不影响平台其他操作,支持流式文本(sse)、图文回复展示 web端 ,效果如下图: h5端 效果:vue3 + element-ui 实现 仿AI智能机器人助手h5, 支持流式文本(sse)、图文回复展示 web端源码:https://github.c…

dos窗口中关于目录和文件的操作

1 将输入内容保存到文件 dir > c:\1.txt 2 列出当前目录的所有文件 dir /a-d 2.1 列出当前目录的所有文件 dir /a-d /d 2.12列出当前目录及子目录下的所有文件 dir /a-d /d /s 3 列出当前目录下的所有目录 dir /ad /d /s 3.1 列出当前目录下的所有目录 dir /ad /d

【网络调试工具】wriesharktcpdump

TcpDump tcpdump抓包命令 网络报文的参数非常多,在实际抓包的时候都是采用条件过滤的选项来获取我们关心的报文。 1.基于IP地址过滤:host tcpdump host 192.168.10.100数据包的ip可以细分为源ip和目标ip两种: # 根据源ip进行过滤 tcpdump -i eth2 src 192.168.10.100 # 更具…

[UE 虚幻引擎] DTLoadFbx 运行时加载FBX本地模型插件说明

本插件可以在打包后运行时动态加载FBX模型。 新建一个Actor 并添加一个 DT Runtime Fbx Component。然后直接调用组件的函数 LoadFile 加载显示模型(注:不支持模型动画)FilePath : 加载模型的绝对路径。Create Collision : 是否创建碰撞体。本组件是继承于 UProceduralMeshC…

蒙特卡罗法求圆周率

蒙特卡罗法求圆周率蒙特卡罗法也称统计模拟法、统计试验法。是把概率现象作为研究对象的数值模拟方法。是按抽样调查法求取统计值来推定未知特性量的计算方法。蒙特卡罗是摩纳哥的著名赌城,该法为表明其随机抽样的本质而命名。故适用于对离散系统进行计算仿真试验。在计算仿真…