【分布式微服务云原生】windows+docker+mysql5.7.44一主一从主从复制
目录
- 1. 主库设置
- 2. 从库设置
- 3. 验证主从复制
- 内容汇总表格
摘要:
在Windows系统上通过Docker部署MySQL主从复制,以下是详细的步骤和命令,帮助你设置一主一从的MySQL复制环境。
1. 主库设置
步骤1:运行MySQL主库容器
docker run --name mysql-master
-v "D:\mysql\mysql-master\log:/var/log/mysql"
-v "D:\mysql\mysql-master\data:/var/lib/mysql"
-v "D:\mysql\mysql-master\conf\my.cnf:/etc/mysql/conf.d/my.cnf"
-e MYSQL_ROOT_PASSWORD=password@312
-p 3306:3306 -d mysql:5.7.44

注意:确保配置文件D:\mysql\mysql-master\conf\my.cnf的读写权限设置为只读,以避免启动容器时的权限错误。
步骤2:进入MySQL主库容器
docker exec -it mysql-master mysql -uroot -p
设置MySQL用户和权限,以便进行复制。

步骤3:配置MySQL主库
CREATE USER 'root'@'%' IDENTIFIED BY 'password@312';
ALTER USER 'root'@'%' IDENTIFIED BY 'password@312';
GRANT REPLICATION SLAVE ON *.* TO 'root'@'%';
FLUSH PRIVILEGES;
SHOW MASTER STATUS;
这些命令创建了一个新的用户,并授予了复制权限。

流程图:主库设置
步骤4:查看容器IP地址
docker inspect
-f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mysql-master
记录主库容器的IP地址,以便从库使用。

2. 从库设置
步骤1:运行MySQL从库容器
docker run
--name mysql-slave
-v "D:\mysql\mysql-slave\log:/var/log/mysql"
-v "D:\mysql\mysql-slave\data:/var/lib/mysql"
-v "D:\mysql\mysql-slave\conf\my.cnf:/etc/mysql/conf.d/my.cnf"
-e MYSQL_ROOT_PASSWORD=password@312
-p 3307:3306 -d mysql:5.7.44
与主库设置类似,但端口映射为3307。
**注意:**确保配置文件D:\mysql\mysql-slave\conf\my.cnf的读写权限设置为只读。
步骤2:进入MySQL从库容器
docker exec -it mysql-slave mysql -uroot -p
与主库设置类似。配置从库以连接到主库。
步骤3:配置MySQL从库
CHANGE MASTER TO
MASTER_HOST='172.17.0.2',
MASTER_USER='root',
MASTER_PASSWORD='password@312',
MASTER_LOG_FILE='mysql-bin.000015',
MASTER_LOG_POS=154;
START SLAVE;
SHOW SLAVE STATUS;

这些命令配置从库以连接到主库,并启动复制。
流程图:从库设置
3. 验证主从复制
步骤1:在主库创建测试表
CREATE TABLE `test` (`id` INT NOT NULL AUTO_INCREMENT,`data` TEXT NOT NULL,`created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
在主库创建一个测试表。
步骤2:在从库检查数据同步
SELECT * FROM test;
在从库查询测试表,验证数据是否已同步。
流程图:验证主从复制
内容汇总表格
| 章节 | 命令 | 说明 |
|---|---|---|
| 主库设置 | docker run --name mysql-master ... | 运行MySQL主库容器 |
| 主库设置 | docker exec -it mysql-master mysql -uroot -p | 进入MySQL主库容器 |
| 主库设置 | CREATE USER 'root'@'%' IDENTIFIED BY 'password'; | 创建用户并授权 |
| 主库设置 | SHOW MASTER STATUS; | 显示主库状态 |
| 从库设置 | docker run --name mysql-slave ... | 运行MySQL从库容器 |
| 从库设置 | docker exec -it mysql-slave mysql -uroot -p | 进入MySQL从库容器 |
| 从库设置 | CHANGE MASTER TO MASTER_HOST='IP', ... | 配置从库连接到主库 |
| 从库设置 | START SLAVE; | 启动从库复制 |
| 从库设置 | SHOW SLAVE STATUS; | 显示从库状态 |
| 验证主从复制 | CREATE TABLE test ... | 在主库创建测试表 |
| 验证主从复制 | SELECT * FROM test; | 在从库查询测试表 |
相关文章:
【分布式微服务云原生】windows+docker+mysql5.7.44一主一从主从复制
目录 1. 主库设置2. 从库设置3. 验证主从复制内容汇总表格 摘要: 在Windows系统上通过Docker部署MySQL主从复制,以下是详细的步骤和命令,帮助你设置一主一从的MySQL复制环境。 1. 主库设置 步骤1:运行MySQL主库容器 docker run …...
鸿蒙NEXT开发-界面渲染(条件和循环)(基于最新api12稳定版)
注意:博主有个鸿蒙专栏,里面从上到下有关于鸿蒙next的教学文档,大家感兴趣可以学习下 如果大家觉得博主文章写的好的话,可以点下关注,博主会一直更新鸿蒙next相关知识 专栏地址: https://blog.csdn.net/qq_56760790/…...
TypeScript 设计模式之【状态模式】
文章目录 状态模式:优雅切换的交通信号灯状态模式的奥秘状态模式有什么利与弊?如何使用状态模式来优化你的系统代码实现案例状态模式的主要优点状态模式的主要缺点状态模式的适用场景总结 状态模式:优雅切换的交通信号灯 当你站在繁忙的十字路口&#…...
MongoDB 聚合管道
参考: 聚合管道 - MongoDB 手册 v7.0 介绍 聚合管道由一个或多个处理文档的阶段组成: 每个阶段对输入文档执行一个操作。例如,某个阶段可以过滤文档、对文档进行分组并计算值。 从一个阶段输出的文档将传递到下一阶段。 一个聚合管道可以返回针对文档…...
python-patterns:Python 设计模式大全
python-patterns 是一个开源的 Python 项目,它提供了各种经典的设计模式的 Python 实现。设计模式是一种针对常见软件设计问题的可复用解决方案,通过使用设计模式,开发者可以编写出结构更加合理、易于维护和扩展的代码。 Python 是一门动态语…...
Nginx编译所需基本库pcre、zlib、openssl
一、基本库介绍 pcre:(Perl Compatible Regular Expressions) 是一个用 C 语言编写的正则表达式库,用于进行文本匹配和搜索。它提供了与 Perl 正则表达式兼容的功能,并且广泛用于许多不同的软件项目中,如网…...
C#进阶:探索嵌套类、匿名类及对象初始化器的强大运用
在C#中,嵌套类、匿名类以及对象初始化器是几种强大的特性,它们可以极大地提高代码的可读性和灵活性。下面分别介绍这些特性的运用。 1. 嵌套类 嵌套类是指定义在另一个类内部的类。内部类可以访问其外围类的所有成员(包括私有成员ÿ…...
匈牙利算法模板
P3386 【模板】二分图最大匹配 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路:最模板的一集.还未匹配则匹配,否则之前一个给现在这个让位置. int n,m,e; vector<int> vct[505]; int match[505]; bool vis[505]; bool mark[505][505]; bool dfs(int s)…...
ubuntu 安装harbor
#安装包 wget https://github.com/goharbor/harbor/releases/download/v2.10.3/harbor-offline-installer-v2.10.3.tgz wget https://github.com/goharbor/harbor/releases/download/v2.10.3/harbor-offline-installer-v2.10.3.tgz.asc#导入签名公钥 gpg --keyserver hkps://ke…...
Python/大数据/机器识别毕业设计选题题目推荐
基于Python和Diango在线购物商城系统报告文档指导搭建视频 基于深度学习的人脸识别与管理系统,Python实现 基于Python/机器学习链家网新房数据可视化及预测系统 Python豆瓣电影情感分析推荐系统爬虫可视化,过滤算法 基于python的django框架生鲜商城管…...
基于Python的人工智能应用案例系列(17):LSTM正弦波预测
概述 本案例展示了如何使用LSTM(长短期记忆网络)来预测正弦波序列的未来值。由于正弦波具有周期性,传统的神经网络难以准确预测其上升或下降趋势,而LSTM则能够通过学习值的模式来进行更精准的预测。本案例将训练LSTM模型并预测正弦…...
Python空间地表联动贝叶斯地震风险计算模型
🎯要点 使用贝叶斯推断模型兼顾路径和场地效应,量化传统地理统计曲线拟合技术。使用破裂和场地特征等地质信息以及事件间残差和事件内残差描述数学模型模型使用欧几里得距离度量、角距离度量和土壤差异性度量确定贝叶斯先验分布和后验分布参数ÿ…...
虚幻引擎-设置UI自适应屏幕大小
在游戏中,如果想实现不同分辨率下,都可以支持当前的UI界面布局,都需要用到锚点功能。 虚幻引擎中的UI锚点(Anchor)是指控件在屏幕或父物体上的固定点,用于确定控件的位置和布局。 锚点的作用是确保UI元…...
C++继承的三种方式[ACCESS]
C继承的定义 两个类的继承关系在派生类中声明,派生类定义使用以下语法: class DerivedClass: [ACCESS] BaseClass{ /…/ }; 冒号(:)后的[ACCESS]是继承的最高权限级别符,可以是以下三个值(存取权限级别&am…...
idea 同一个项目不同模块如何设置不同的jdk版本
在IntelliJ IDEA中,可以为同一个项目中的不同模块设置不同的JDK版本。这样做可以让你在同一个项目中同时使用多个Java版本,这对于需要兼容多个Java版本的开发非常有用。以下是设置步骤: 打开项目设置: 在IDEA中,打开你…...
1-仙灵之谜(区块链游戏详情介绍)
1-仙灵之谜(区块链游戏详情介绍) 前言(该游戏仅供娱乐)正文 前言(该游戏仅供娱乐) 依稀记得本科那会儿参加了一个区块链实验室,那时每周末大家都会爬山或者抽出一下午讨论区块链以及未来&#x…...
基于51单片机的温湿度上下限监测预警proteus仿真
地址:https://pan.baidu.com/s/1hSprWBYhKKx8Txzaj33YPA?pwdjp3d 提取码:1234 仿真图: 芯片/模块的特点: AT89C52/AT89C51简介: AT89C52/AT89C51是一款经典的8位单片机,是意法半导体(STMic…...
考核总结.
事件循环 单线程的js在处理异步事件时进行的一种循环过程。 在 JS中任务分为同步与异步任务,其中异步任务又分为两种:宏任务和 微任务。宏任务和微任务的执行顺序:总方针是先同步再异步,异步中先微任务,在宏任务。一次…...
后端学习路线
后端学习路线 一、编程语言 至少需要学习一门编程语言,建议学习JAVA和GO语言。 二、数据库 数据库分为关系型数据库和非关系型数据库,区别在于分关系型数据库常用于大数据,而非关系型数据库一般不在大数据方面使用。 关系型数据库&#x…...
车辆重识别(注意力 U-Net:学习在哪些区域寻找胰腺)论文阅读2024/10/01
什么是注意力机制? 什么是加性注意力? 大致说一下流程: 对于一张特征图来说,对于这张图中的每一个像素向量(例如a),计算该向量与所有像素向量的相似度,对这些相似度进行激活函数…...
利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...
云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地
借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...
大数据零基础学习day1之环境准备和大数据初步理解
学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...
系统设计 --- MongoDB亿级数据查询优化策略
系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...
智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
ffmpeg(四):滤镜命令
FFmpeg 的滤镜命令是用于音视频处理中的强大工具,可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下: ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜: ffmpeg…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...
Android第十三次面试总结(四大 组件基础)
Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: onCreate() 调用时机:Activity 首次创建时调用。…...
