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

Docker实现MySQL数据库主从复制

一、拉取数据库镜像

docker pull mysql:5.7

二、创建两个数据库(一主一从模式)

mysql01(主)

1.docker run -d -p 3310:3306  -v /root/mysql/node-1/init:/docker-entrypoinit-initdb.d -v /root/mysql/node-1/config:/etc/mysql/conf.d -v /root/mysql/node-1/data:/var/lib/mysql  -e MYSQL_ROOT_PASSWORD=123456  --name mysql01 mysql:5.7

mysql02 (从)

2.docker run -d -p 3311:3306  -v /root/mysql/node-2/init:/docker-entrypoinit-initdb.d -v /root/mysql/node-2/config:/etc/mysql/conf.d -v /root/mysql/node-2/data:/var/lib/mysql  -e MYSQL_ROOT_PASSWORD=123456  --name mysql02 mysql:5.7

命令解释:

-d: 后台运行容器,并返回容器ID
-p 宿主机端口:容器端口 :将容器的端口映射到宿主机端口
-e MYSQL_ROOT_PASSWORD=123456 :配置数据库连接密码
-v 宿主机路径:容器内路径 :将配置文件夹挂载到宿主机
–name 容器名字:将容器命名为 mysql01(02)

三、检查是否创建并运行成功

docker ps -a(查看docker所有的进程)

STATUS显示up表示正常运行

四、编写主从配置文件

我们之前在创建和启动数据库的时候写了这句-v /root/mysql/node-1/config:/etc/mysql/

将mysql 的配置文件夹和宿主机的文件夹挂载起来的。

那么我们就可以直接在宿主机下的/root/mysql/node-1/config/编写配置文件了。

主机配置:
cd /root/mysql/node-1/config/vi my.cnf [mysqld]#修改配置文件:vim /etc/my.cnf
#主服务器唯一ID
server-id=1
#启用二进制日志
log-bin=mysql-bin
#设置不要复制的数据库(可设置多个)
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
#设置需要复制的数据库 需要复制的主数据库名字
binlog-do-db=testdb
#设置logbin格式
binlog_format=STATEMENT按 i 进入插入模式即可编写
编写完后按Esc 然后按:wq 保存退出

编写完后可进行查看检查 

从机配置配置:
cd /root/mysql/node-2/config/vim my.cnf [mysqld]
#从服务器唯一ID
server-id=2
#启用中继日志
relay-log=mysql-relay                 

编写完后可进行查看检查  

然后重启mysql01 和 mysql02

docker restart mysql01 mysql02

重启完后再次进行检查 docker ps -a(查看docker所有的进程)

五、搭建主从复制

主机配置
docker exec -it mysql01 /bin/bash #进入容器
mysql -uroot -p123456 #连接mysqlGRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' IDENTIFIED BY '123456';    #给从机授权,让主机和从机能相连
登录主机查看master状态
docker exec -it mysql01 /bin/bash    #进入主机的底层配置mysql -uroot -p123456    #登录数据库show master status;    #查看状态

需要把这里的File和Position记下来,等下在从机上要用到。

File: mysql-bin.000008 
Position :  154 
使用exit退出主机

从机配置
docker exec -it mysql02 /bin/bash 
mysql -uroot -p123456
配置从机复制主机 
CHANGE MASTER TO MASTER_HOST='主机的ip地址',MASTER_USER='slave',MASTER_PASSWORD='123456',MASTER_PORT=3306, MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=438;
#解释:
CHANGE MASTER TO MASTER_HOST='具体IP地址',
MASTER_USER='slave'(刚刚配置的用户名),
MASTER_PASSWORD='123456'(刚刚授权的密码),
master_port=主机开放的端口 这里是3310端口,
MASTER_LOG_FILE='mysql-bin.具体数字'(File值),MASTER_LOG_POS=具体值(之前的Position);

注意事项如果在这里出现错误,先重置。执行完下面两条命令。

stop slave;
reset master;
启动从服务器复制功能
start slave;

查看从服务器状态

show slave status\G;

 

 这两个参数显示如下则表示成功

Slave_IO_Running: Connecting
Slave_SQL_Running: Yes

六、重置配置主从

如何停止从服务复制功能

stop slave; 

如何重新配置主从 (即清除之前的主从配置)

stop slave;
reset master;

 

相关文章:

Docker实现MySQL数据库主从复制

一、拉取数据库镜像 docker pull mysql:5.7二、创建两个数据库(一主一从模式) mysql01(主) 1.docker run -d -p 3310:3306 -v /root/mysql/node-1/init:/docker-entrypoinit-initdb.d -v /root/mysql/node-1/config:/etc/mysql/conf.d -v /root/mysq…...

PTN中的L2VPN与L3VPN技术详解

文章目录 一、PTN网络中的VPN技术概述二、L2VPN(二层虚拟专用网络)技术解析1. 核心技术原理2. 主要类型3. 应用场景4. 技术优缺点 三、L3VPN(三层虚拟专用网络)技术解析1. 核心技术原理2. 主要类型3. 应用场景4. 技术优缺点 四、L…...

2025长三角杯数学建模B题教学思路分析:空气源热泵供暖的温度预测

2025长三角杯数学建模B题教学思路模型代码,详细内容见文末名片 一、问题背景 在当今“电供暖”日益普及的大背景下,空气源热泵凭借其独特优势,在楼宇供暖领域崭露头角,成为缓解电网调峰压力的得力助手。然而,供暖过程…...

告别传统的防抖机制,提交按钮的新时代来临

目录 背景 目标 核心代码 样式定义:让图标居中、响应父级颜色 SVG 图标:轻量、无依赖的 loading 图标 指令注册:全局注册 v-bLoading DOM 操作:添加与清除 loading 图标 1. 添加 loading 图标 2. 清除 loading 图标 动画…...

InternVL3: 利用AI处理文本、图像、视频、OCR和数据分析

InternVL3推动了视觉-语言理解、推理和感知的边界。 在其前身InternVL 2.5的基础上,这个新版本引入了工具使用、GUI代理操作、3D视觉和工业图像分析方面的突破性能力。 让我们来分析一下是什么让InternVL3成为游戏规则的改变者 — 以及今天你如何开始尝试使用它。 InternVL…...

关于 Web安全:1. Web 安全基础知识

一、HTTP/HTTPS 协议详解 1. HTTP协议基础 什么是 HTTP? HTTP(HyperText Transfer Protocol)是互联网中浏览器和服务器之间传输数据的协议,基于请求-响应模式。它是一个无状态协议,意思是每次请求都是独立的&#x…...

西门子 S1500 PLC 通过 Profinet 对 6 台施耐德 ATV304 变频器的控制,用于 6 台升降台的位置控制。

西门子 S1500 PLC 通过 Profinet 对 6 台施耐德 ATV304 变频器的控制,用于 6 台升降台的位置控制。程序主要特点: 模块化设计:采用功能块数组结构,实现对多台设备的统一控制循环控制:使用 FOR 循环遍历每台升降台&…...

重构金融数智化产业版图:中电金信“链主”之道

近日,《商学院》杂志独家专访了中电金信常务副总经理(主持经营工作)冯明刚,围绕“金融科技”“数字底座”“架构转型”“AI驱动”等议题,展开了一场关于未来架构、技术变革与系统创新的深入对话。 当下,数字…...

高光谱遥感图像处理之数据分类的fcm算法

基于模糊C均值聚类(FCM)的高光谱遥感图像分类MATLAB实现示例 %% FCM高光谱图像分类示例 clc; clear; close all;%% 数据加载与预处理 % 加载示例数据(此处使用公开数据集Indian Pines的简化版) load(indian_pines.mat); % 包含变…...

2025年PMP 学习十六 第11章 项目风险管理 (总章)

2025年PMP 学习十六 第11章 项目风险管理 (总章) 第11章 项目风险管理 序号过程过程组1规划风险管理规划2识别风险规划3实施定性风险分析规划4实施定量风险分析规划5规划风险应对执行6实施风险应对执行7监控风险监控 目标: 提高项目中积极事件的概率和…...

IEEE 列表会议第五届机器人、自动化与智能控制国际会议

会议地点:中国 成都 会议官网:ICRAIC 主办单位:成都理工大学 协办单位:成都大学 早鸟截稿:2025年7月15日 截稿时间:2025年8月20日 出版信息:IEEE出版&EI数据库 会议时间&#xff1a…...

基于 React Hook 封装 Store 的三种方案

基于 React Hook 封装 Store 的三种方案 方案一&#xff1a;基于 useSyncExternalStore 的轻量级 Store&#xff08;推荐&#xff09; import { useSyncExternalStore } from react;type Store<T> {state: T;listeners: Set<() > void>; };function createSt…...

Gmsh 读取自定义轮廓并划分网格:深入解析与实践指南

一、Gmsh 简介 (一)Gmsh 是什么 Gmsh 是一款功能强大的开源有限元网格生成器,广泛应用于工程仿真、数值模拟以及计算机图形学等领域。它为用户提供了从几何建模到网格划分的一整套解决方案,能够有效处理复杂几何形状,生成高质量的二维和三维网格,满足多种数值方法的需求…...

bili.png

import pygame as pg import sys import time import randompg.init() screen pg.display.set_mode((800,500)) pg.display.set_caption(runcool) screen.fill((135, 206, 235)) bili pg.image.load(bili.png)#得分 coin 0 game_font pg.font.Font(None, 50)#人物大小…...

【设计模式】- 行为型模式1

模板方法模式 定义了一个操作中的算法骨架&#xff0c;将算法的一些步骤推迟到子类&#xff0c;使得子类可以不改变该算法结构的情况下重定义该算法的某些步骤 【主要角色】&#xff1a; 抽象类&#xff1a;给出一个算法的轮廓和骨架&#xff08;包括一个模板方法 和 若干基…...

GMT之Bash语言使用

GMT的操作有自己的逻辑和“命令”&#xff0c;但GMT是可以用Bash语言控制的&#xff0c;所以常常以.sh为后缀写GMT程序。 GMT程序运行步骤如下&#xff1a; 采用cd &#xff0c;定位到指定文件夹&#xff1b;以sh ***.sh运行GMT&#xff0c;得到结果。 另外&#xff0c;遇到…...

AI神经网络降噪算法在语音通话产品中的应用优势与前景分析

采用AI降噪的语言通话环境抑制模组性能效果测试 一、引言 随着人工智能技术的快速发展&#xff0c;AI神经网络降噪算法在语音通话产品中的应用正逐步取代传统降噪技术&#xff0c;成为提升语音质量的关键解决方案。相比传统DSP&#xff08;数字信号处理&#xff09;降噪&#…...

ISBI 2012 EM 神经元结构分割数据集复现UNet

一些笔记在代码的注释中 因为使用的数据集比较简单&#xff0c;所以没有使用模型可视化和调试的内容&#xff0c;只是简单的数据集预处理和模型的搭建以及训练。 # 1. PyTorch 基础模块 import torch # 张量操作 import torch.nn as nn # 构建神经网…...

Java视频流RTMP/RTSP协议解析与实战代码

在Java中实现视频直播的输入流处理&#xff0c;通常需要结合网络编程、多媒体处理库以及流媒体协议&#xff08;如RTMP、HLS、RTSP等&#xff09;。以下是实现视频直播输入流的关键步骤和技术要点&#xff1a; 1. 视频直播输入流的核心组件 网络输入流&#xff1a;通过Socket或…...

springboot连接高斯数据库(GaussDB)踩坑指南

1. 用户密码加密类型与gsjdbc4版本不兼容问题 我的数据库&#xff0c;设置的加密类型(password_encryption_type)是2&#xff0c; 直接使用gsjdbc4.jar连接数据库报错。 org.postgresql.util.PSQLException: Invalid or unsupported by client SCRAM mechanisms 后使用gsjdb…...

c++20引入的三路比较操作符<=>

目录 一、简介 二、三向比较的返回类型 2.1 std::strong_ordering 2.2 std::weak_ordering 2.3 std::partial_ordering 三、对基础类型的支持 四、自动生成的比较运算符函数 4.1 std::rel_ops的作用 4.2 使用<> 五、兼容他旧代码 一、简介 c20引入了三路比较操…...

Cursor开发酒店管理系统

目录&#xff1a; 1、后端代码初始化2、使用Cursor打开spingboot项目3、前端代码初始化4、切换其他大模型5、Curosr无限续杯 1、后端代码初始化 找一个目录&#xff0c;使用idea在这个目录下新建springboot的项目。 2、使用Cursor打开spingboot项目 在根目录下新建.cursor文件…...

nosqlbooster pojie NoSQLBooster for MongoDB

测过可用&#xff0c;注意 asar的安装使用报错改用 npx asar extract app.asar app 路径 C:\Users{computerName}\AppData\Local\Programs\nosqlbooster4mongo\resources npm install asar -g asar extract app.asar app 打开shared\lmCore.js 修改MAX_TRIAL_DAYS3000 修改…...

基于 Flink 的实时推荐系统:从协同过滤到多模态语义理解

基于 Flink 的实时推荐系统&#xff1a;从协同过滤到多模态语义理解 嘿&#xff0c;各位技术小伙伴们&#xff01;在这个信息爆炸的时代&#xff0c;你是不是常常惊叹于各大平台仿佛能 “读懂你的心”&#xff0c;精准推送你感兴趣的内容呢&#xff1f;今天&#xff0c;小编就…...

【HBase整合Hive】HBase-1.4.8整合Hive-2.3.3过程

HBase-1.4.8整合Hive-2.3.3过程 一、摘要二、整合过程三、注意事项 一、摘要 HBase集成Hive&#xff0c;由Hive来编写SQL语句操作HBase有以下好处&#xff1a; 简化操作&#xff1a;Hive提供了类SQL的查询语言HiveQL&#xff0c;对于熟悉SQL的用户来说&#xff0c;无需学习HBas…...

图像对比度调整(局域拉普拉斯滤波)

一、背景介绍 之前刷对比度相关调整算法&#xff0c;找到效果不错&#xff0c;使用局域拉普拉斯做图像对比度调整&#xff0c;尝试复现和整理了下相关代码。 二、实现流程 1、基本原理 对输入图像进行高斯金字塔拆分&#xff0c;对每层的每个像素都针对性处理&#xff0c;生产…...

如何在本地打包 StarRocks 发行版

字数 615&#xff0c;阅读大约需 4 分钟 最近我们在使用 StarRocks 的时候碰到了一些小问题&#xff1a; • 重启物化视图的时候会导致视图全量刷新&#xff0c;大量消耗资源。- 修复 PR&#xff1a;https://github.com/StarRocks/starrocks/pull/57371• excluded_refresh_tab…...

git使用的DLL错误

安装好git windows客户端打开git bash提示 Error: Could not fork child process: Resource temporarily unavailable (-1). DLL rebasing may be required; see ‘rebaseall / rebase –help’. 提示 MINGW64的DLL链接有问题&#xff0c;其实是Windows的安全中心限制了&…...

Elasticsearch倒排索引核心原理面试题

倒排索引核心原理面试题 🚀 目录 基础概念性能优化应用场景数据结构设计问题排查扩展思考基础概念 🔍 面试题1:基础概念 题目:Elasticsearch/Lucene的倒排索引(Inverted Index)是如何工作的?请描述从关键词搜索到返回文档的完整流程。 👉 查看参考答案 倒排索引…...

区块链blog1__合作与信任

&#x1f342;我们的世界 &#x1f33f;不是孤立的&#xff0c;而是网络化的 如果是单独孤立的系统&#xff0c;无需共识&#xff0c;而我们的社会是网络结构&#xff0c;即结点间不是孤立的 &#x1f33f;网络化的原因 而目前并未发现这样的理想孤立系统&#xff0c;即现实中…...