docker搭建mysql主从复制

1. 基础环境
- 环境
| 名称 | 描述 |
|---|---|
| CentOS 7.6 | Linux操作系统版本 |
| docker 20.10.5 | docker版本 |
| mysql 8.0.29 | mysql镜像版本 |
- 节点
| 节点名称 | 读写/主从 | 地址端口 |
|---|---|---|
| master | 读节点/主节点 | 192.168.1.6:3306 |
| slave1 | 写节点/从节点 | 192.168.1.6:3307 |
| slave2 | 写节点/从节点 | 192.168.1.6:3308 |
2. 主节点
- 使用docker拉取mysql数据库的8.0.29版本镜像文件
[root@zhouwei ~]# docker pull mysql:8.0.29
- 通过镜像构建主节点,端口3306,并映射配置文件至宿主机,容器名称为mysql-master,root用户密码为root
[root@zhouwei ~]# docker run -d -p 3306:3306 -v /mysql/master/conf:/etc/mysql/conf.d -v /mysql/master/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root --name mysql-master mysql:8.0.29
- 创建主节点配置文件
[root@zhouwei ~]# vim /mysql/master/conf/my.cn
内容如下:
[mysqld]
server-id=1
binlog_format=STATEMENT
- 重启容器
[root@zhouwei ~]# docker restart mysql-master
- root用户开启远程连接
# step1:进入容器内部
[root@zhouwei ~]# docker exec -it mysql-master env LANG=C.UTF-8 /bin/bash# step2:登录mysql服务,账号root 密码root
bash-4.4# mysql -uroot -p# step3:开启远程连接
mysql> alter user 'root'@'%' identified with mysql_native_password by 'root';
2. 从节点
- 通过镜像构建从节点1,端口3307,并映射配置文件至宿主机,容器名称为mysql-slave1,root用户密码为root
[root@zhouwei ~]# docker run -d -p 3307:3306 -v /mysql/slave1/conf:/etc/mysql/conf.d -v /mysql/slave1/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root --name mysql-slave1 mysql:8.0.29
- 创建主节点配置文件
[root@zhouwei ~]# vim /mysql/slave1/conf/my.cn
内容如下:
[mysqld]
server-id=2
- 重启容器
[root@zhouwei ~]# docker restart mysql-slave1
- 类似主节点开启远程连接
- 同理在3308端口配置从节点2
3. 配置主从
- 使用root用户登录主节点创建用户
-- 创建用户
CREATE USER 'slave'@'%';
-- 设置密码
ALTER USER 'slave'@'%' IDENTIFIED WITH mysql_native_password BY 'slave';
-- 赋予复制权限
GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%';
-- 刷新权限
FLUSH PRIVILEGES;
- 查看主节点状态
SHOW MASTER STATUS;

- 使用root用户登录从节点开启复制线程
CHANGE MASTER TO MASTER_HOST = '192.168.1.6',
MASTER_USER = 'slave',
MASTER_PASSWORD = 'slave',
MASTER_PORT = 3306,
MASTER_LOG_FILE = 'binlog.000003',
MASTER_LOG_POS = 1427;START SLAVE;SHOW SLAVE STATUS;

相关文章:
docker搭建mysql主从复制
1. 基础环境 环境 名称描述CentOS 7.6Linux操作系统版本docker 20.10.5docker版本mysql 8.0.29mysql镜像版本 节点 节点名称读写/主从地址端口master读节点/主节点192.168.1.6:3306slave1写节点/从节点192.168.1.6:3307slave2写节点/从节点192.168.1.6:3308 2. 主节点 使…...
在MacBook上实现免费的PDF文件编辑
之前我想对PDF文件进行简单处理(比如删页面、添空白页、调整页面顺序),要么是开wps会员【花钱贵】,下载(盗版)Adobe Acrobat【macOS不好下载】,要么用福昕阅览器登陆学生账号(学校买…...
QT第2课-GUI程序实例分析
GUI程序开发概述 不同的操作系统GUI开发原理相同不同的操作系统GUI SDK 不同 GUI 程序开发原理 GUI程序在运行时会创建一个消息队列系统内核将用户的键盘鼠标操作翻译成对应的程序消息程序在运行过程中需要实时处理队列中的消息当队列中没有消息时,程序将处于停滞…...
Android修行手册 - POI操作Excel常用样式(字体,背景,颜色,Style)
点击跳转>Unity3D特效百例点击跳转>案例项目实战源码点击跳转>游戏脚本-辅助自动化点击跳转>Android控件全解手册点击跳转>Scratch编程案例点击跳转>软考全系列 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分享&…...
Sprint Boot 学习路线 5
Spring MVC Spring MVC是Spring框架的一部分,是一个Web应用程序框架。它旨在使用Model-View-Controller(MVC)设计模式轻松构建Web应用程序。 在Spring MVC中,应用程序被分为三个主要组件:Model、View和Controller。M…...
git02->gui图形化界面使用,ssh协议,idea集成GIT
gui图形化界面使用ssh协议idea集成GIT 1.gui图形化界面使用 2.ssh协议 git/github生成密钥并通过 操作分为本地电脑配置和github网站配置 第一步:本地电脑配置 右键空白处,选择Git Bash Here打开相关命令窗口 1.配置用户名和邮箱(如果已经配…...
面向对象 元类 gil log 协程 垃圾回收 描述符 property
封装、继承、多态 当谈到封装、继承和多态时,通常是在面向对象编程 (OOP) 的上下文中讨论的。 封装 (Encapsulation) 示例: class Person: def __init__(self, name, age): self.__name = name # 使用双下划线前缀将属性变为私有 self.__age = age de…...
bibitem格式 添加参考文献
这次写论文时遇到一种bibitem格式的参考文献,latex中没有bib文件 分三步走 找到这篇文章的Bib Tex的引用,然后新建bib文件,命名为下图: 然后把Bib Tex引用的内容复制到上图的文件中,新建tex文件 内容为 \document…...
Leetcode 2934. Minimum Operations to Maximize Last Elements in Arrays
Leetcode 2934. Minimum Operations to Maximize Last Elements in Arrays 1. 解题思路2. 代码实现 题目链接:2934. Minimum Operations to Maximize Last Elements in Arrays 1. 解题思路 这一题思路上其实很简单,直接分情况考察一下最后一个元素交换…...
02:2440---时钟体系
目录 一:时钟控制 1:基本概念 2:时钟结构图 3:结构图分析 4:总线 5:寄存器 A:FCLK--MPLLCON B:HCLK和PCLK--CLKDIVN C:注意 二:上电复位 1:上电复位 2:时钟选择 三:代码 一:时钟控制 1:基本概念 S3C2440A中的时钟控制逻辑可以产生所需的时钟信号,包括C…...
SOEM源码解析——ecx_siiSM(读取SII的SM信息)
0 工具准备 1.SOEM-master-1.4.0源码1 ecx_siiSM函数总览 /** Get SM data from SII SM section in slave EEPROM.从SII的SM段获取SM信息* @param[in] context = context struct 句柄* @param[in] slave = slave number 从站序号* @param[out] SM = first SM str…...
【见缝插针】射击类游戏-微信小程序项目开发流程详解
还记得小时候玩过的见缝插针游戏吗,比一比看谁插得针比较多,可有趣了,当然了,通过它可以训练自己的手速反应,以及射击水平,把握时机,得分越高就越有成就感,相信小朋友们会喜欢它的&a…...
flutter开发实战-TweenSequence实现动画序列
flutter开发实战-TweenSequence实现动画序列 一、TweenSequence TweenSequence是允许创建一个Animation由一系列补间动画来确定值,每个TweenSequenceItem都有定义在动画的持续时间的权重确定动画间隔。 TweenSequence 动画组类TweenSequenceItem 用来定义每一个动…...
Flowable 外部表单
内置表单需要在每个节点中去配置,当如果多个节点使用同一套表单属性就要配置多次比较麻烦,修改的时候也要修改多次,外部表单可以定义一次,然后其它节点都去引用同一个表单属性。 外部表单需要定义一个.form后缀的文件。 外部表单…...
[mysql]索引优化-2
目录 一、分页查询优化1.根据自增且连续的主键排序的分页查询2.根据非主键字段排序的分页查询 二、Join关联查询优化1.嵌套循环连接 Nested-Loop Join(NLJ) 算法2.基于块的嵌套循环连接 Block Nested-Loop Join(BNL)算法 三、count(*)查询优化1.查询mysql自己维护的总行数2.sho…...
数据分析实战 | 泊松回归——航班数据分析
目录 一、数据及分析对象 二、目的及分析任务 三、方法及工具 四、数据读入 五、数据理解 六、数据准备 七、模型训练 八、模型评价 一、数据及分析对象 CSV文件:o-ring-erosion-only.csv 数据集链接:https://download.csdn.net/download/m0_7…...
Fliki AI:让视频创作更简单、更高效
在当今的数字时代,视频已经成为人们获取信息和娱乐的重要方式。无论是企业宣传、教育培训还是个人创作,视频都发挥着越来越重要的作用。然而,视频制作是一项复杂的工作,需要掌握一定的技能和经验。这对于初学者或没有专业视频制作…...
webGL编程指南 第五章 MultiTexture.html
我会持续更新关于wegl的编程指南中的代码。 当前的代码不会使用书中的缩写,每一步都是会展开写。希望能给后来学习的一些帮助 git代码地址 :空 上一章节中我们学习texParameteri的使用,这一章节中我们两个图片进行混合 <!DOCTYPE html> <htm…...
mysql8安装和驱动jar包下载
方式一:基于docker安装 下拉镜像 docker pull mysql:8.0.21 启动镜像 docker run -p 3307:3306 --name mysql -e MYSQL_ROOT_PASSWORDhadoop -d mysql:8.0.21 启动成功后,进入容器内部拷贝配置文件,到宿主主机 docker cp mysql:/etc/mysql…...
(SpringBoot)第五章:SpringBoot创建和使用
文章目录 一:Spring和SpringBoot(1)Spring已解决和未解决的问题(2)SpringBoot 二:Spring项目的创建(1)IDEA创建(2)网页端创建 三:项目目录介绍及运…...
语言的边界,与软件的命运萍
1. 引入 在现代 AI 工程中,Hugging Face 的 tokenizers 库已成为分词器的事实标准。不过 Hugging Face 的 tokenizers 是用 Rust 来实现的,官方只提供了 python 和 node 的绑定实现。要实现与 Hugging Face tokenizers 相同的行为,最好的办法…...
SimpleMorse:轻量级Arduino摩尔斯码按钮解码库
1. 项目概述SimpleMorse 是一款专为嵌入式 Morse 码交互场景设计的轻量级 Arduino 库,其核心目标是将物理按钮输入(点、划、空格、退格)实时转换为可读文本与 ASCII 字符流。该库不依赖任何外部组件或动态内存分配,完全基于静态数…...
嵌入式实时异步编程库:FreeRTOS轻量级Job调度框架
1. 项目概述Job是一个面向嵌入式实时系统的轻量级异步编程库,专为 FreeRTOS 环境深度定制。它并非通用 C 异步框架的简单移植,而是基于裸机资源约束与实时性要求重构的模块化任务调度抽象层。其核心设计哲学是:以最小运行时开销实现确定性异步…...
2026奇点大会闭门报告首发(仅限首批200名工程负责人):AI原生测试的7层抽象架构与4类不可逆迁移陷阱
第一章:2026奇点智能技术大会:AI原生测试自动化 2026奇点智能技术大会(https://ml-summit.org) 在2026奇点智能技术大会上,“AI原生测试自动化”不再是一个愿景,而是已落地的工程范式——它将大语言模型、多模态推理与测试生命周…...
别再手动拼中间件了!用Go Kratos框架5分钟搞定一个带链路追踪的微服务
别再手动拼中间件了!用Go Kratos框架5分钟搞定一个带链路追踪的微服务 每次启动新项目时,你是否也厌倦了重复配置日志、监控、链路追踪这些基础设施?作为Go开发者,我们总在业务代码和中间件整合之间反复横跳。今天要介绍的Kratos框…...
MMC-HVDC仿真模型及柔性直流输电相关基础模型集合
MMC-HVDC仿真模型,pscad柔性直流输电仿真mmc仿真模型,双端mmc模型,MMC为21电平NLM和均压控制,还有多端如张北直流电网以及基本mmc逆变器,自己为毕业网上收集的一些觉得有用的基础模型最近在折腾MMC-HVDC仿真࿰…...
ArduLog:ESP32/ESP8266轻量级嵌入式日志库
1. ArduLog:面向ESP8266/ESP32的轻量级嵌入式日志库深度解析1.1 设计定位与工程价值ArduLog并非通用日志框架,而是专为资源受限型Wi-Fi SoC(ESP8266/ESP32)定制的裸机友好型调试日志工具。其核心设计哲学可概括为三点:…...
SITS2026首批通过架构案例全披露(含字节/阿里/平安内部PPT精要),仅剩最后23个企业可申请架构对标评估
第一章:SITS2026深度解析:AI原生应用架构设计 2026奇点智能技术大会(https://ml-summit.org) AI原生应用已不再满足于将模型“封装后调用”,而是要求从基础设施、服务编排、状态管理到用户交互的全栈重构。SITS2026(Singularity …...
别再手动改指纹了!用这个Chrome 116内核的免费工具,5分钟搞定WebRTC、Canvas等关键指纹伪装
浏览器指纹伪装实战指南:5分钟实现全方位隐私保护 每次打开电商网站,首页推荐的商品总是精准得令人毛骨悚然;刚搜索过某个产品,社交平台立刻出现相关广告——这些现象背后,是网站通过浏览器指纹对用户进行的追踪。传统…...
NVIDIA Profile Inspector导入导出功能:3分钟掌握游戏配置备份与分享
NVIDIA Profile Inspector导入导出功能:3分钟掌握游戏配置备份与分享 【免费下载链接】nvidiaProfileInspector 项目地址: https://gitcode.com/gh_mirrors/nv/nvidiaProfileInspector 还在为每次重装系统后需要重新配置显卡游戏设置而烦恼吗?NV…...
