docker搭建mysql主从复制

news2025/1/16 8:11:10

在这里插入图片描述

1. 基础环境

  • 环境
名称描述
CentOS 7.6Linux操作系统版本
docker 20.10.5docker版本
mysql 8.0.29mysql镜像版本
  • 节点
节点名称读写/主从地址端口
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;

在这里插入图片描述

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

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

相关文章

Lightroom Classic 2021 v10.4

Lightroom Classic 2021是一款一体化照片管理和编辑解决方案。 它面向专业人士和高端用户,支持各种不同相机的原始图像编辑,包括Canon、Apple、Casio、Contax、DxO、Epson等品牌。这样可以将原图像快速导入进行编辑,轻松满足不同用户的需求。…

将 Ordinals 与比特币智能合约集成:第 4 部分

控制 BSV-20 代币的分配 在上一篇文章中,我们展示了智能合约可以在铸造后控制 BSV-20 代币的转移。 今天,我们演示如何控制此类代币的分发/发行。 无Tick模式 BSV-20 在 V2 中引入了无Tick模式,并采用了与 V1 不同的方法。 部署 (Deploy) …

大厂面试题-MySQL为什么使用B+Tree作为索引结构

从几个方面来回答: 首先,常规的数据库存储引擎,一般都是采用B树或者B树来实现索引的存储。 (如图)因为B树是一种多路平衡树,用这种存储结构来存储大量数据,它的整个高度会相比二叉树来说,会矮很多。 而对…

【论文阅读】NeROIC:在线图像集合中对象的神经渲染

论文连接: NeROIC: Neural Rendering of Objects from Online Image Collections introduction 从在线图像集合中获取对象表示的新颖方法,从具有不同相机、照明和背景的照片中捕获任意对象的高质量几何形状和材料属性。这使得各种以对象为中心的渲染应…

AI:78-基于深度学习的食物识别与营养分析

🚀 本文选自专栏:人工智能领域200例教程专栏 从基础到实践,深入学习。无论你是初学者还是经验丰富的老手,对于本专栏案例和项目实践都有参考学习意义。 ✨✨✨ 每一个案例都附带有在本地跑过的代码,详细讲解供大家学习,希望可以帮到大家。欢迎订阅支持,正在不断更新中,…

ssm+vue的疫情防控管理系统设计与实现(有报告)。Javaee项目,ssm vue前后端分离项目。

演示视频: ssmvue的疫情防控管理系统设计与实现(有报告)。Javaee项目,ssm vue前后端分离项目。 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网…

【AI】生成模型变得简单:了解它们的工作原理和不同类型

什么是生成模型? 在不断发展的人工智能领域,生成模型已成为人工智能技术最具吸引力和创造力的方面之一。这些模型是创意人工智能的核心,它们有能力生成各种内容,从栩栩如生的图像和引人入胜的文本到令人着迷的音乐和创新的艺术作…

webpack babel

构建工具 简介 当我们习惯了在node中编写代码的方式后,在回到前端编写html、css、js这些东西会感觉到各种的不便。比如:不能放心的使用模块化规范(浏览器兼容性问题)、即使可以使用模块化规范也会面临模块过多时的加载问题。我们…

MySQL字符串需要注意的事项

char(N),N在0-255间 varchar(N),N在0-65536间 需要注意N是字符,不是字节,英文字母一个字符一个字节,阿拉伯字母一个字符两个字节,中文日文一个字符三个字节,emoji是一个字符四个字节 当今移动端…

跨境电商:自养买家账号测评,你需要了解的细节

在跨境电商的浪潮中,自养买家账号测评已经成为了一种趋势。近期,不少跨境卖家咨询自养买家账号测评的相关问题,看来有必要再讲解一下卖家测评的一些细节。今天将着重介绍自养号测评的相关内容。 首先,什么叫做自养号测评呢&#x…

创建云端服务器

1.申请云端服务器 每个账户有三个月的免费试用 我的服务器选择是centos7 ,别选成win了。 2.创建实例 创建实例的步骤,阿里云有文档 介绍 大致就是 左边点实例 -》 顶部选你申请服务器时的地区-》下面就出现一条实例-》点更多 -》要重置实例密码 -》同一…

海康工业相机如何提高相机帧率

影响帧率的因素 相机参数 帧率限制使能 像素格式 曝光时间 数据包大小(网口) 相机默认参数 ADC位深 系统环境设置

React进阶之路(四)-- React-router-v6、Mobx

文章目录 ReactRouter前置基本使用核心内置组件说明编程式导航路由传参嵌套路由默认二级路由404路由配置集中式路由配置 Mobx什么是Mobx环境配置基础使用计算属性(衍生状态)异步数据处理模块化多组件数据共享 ReactRouter 前置 在一开始前端开发都是单…

HBuilderX 运行Android App项目至雷电模拟器

一、下载安装HBuilderX HBuildeX官网 安装最新的正式版,或者点击历史版本查看更多版本;【ps:Alpha版本为开发版,功能更多,但是也不稳定,属于测试版本】 直接将压缩包解压,运行HBuildeX即可。 二…

凯美瑞 vs 太空船:Web3 游戏生长的两条路径

撰文:Teng Yan(0xPrismatic),Delphi Digital 研究员 编译:TinTinLand 来源:https://0xprismatic.substack.com/p/my-short-web3-gaming-thesis 经常有人问我关于 Web3 游戏的看法,所以我想以这…

文本生成高精准3D模型,北京智源AI研究院等出品—3D-GPT

北京智源AI研究院、牛津大学、澳大利亚国立大学联合发布了一项研究—3D-GPT,通过文本问答方式就能创建高精准3D模型。 据悉,3D-GPT使用了大语言模型的多任务推理能力,通过任务调度代理、概念化代理和建模代理三大模块,简化了3D建模的开发流程…

vmware16.2内部win7联网

1、主机配置 前置条件:DHCP和NAT服务已启动 设置无线IP与虚拟机IP为自动获取 二者都是:右键-属性 选择IPv4 自动获取 2、虚拟机配置 设置虚拟机上网方式为NAT 菜单栏-虚拟机-设置 NMnet8改为NAT模式 菜单栏-编辑-虚拟网络编辑器 win7系统内部网…

Facebook广告被暂停是什么原因?广告账号被封怎么办?

许多做海外广告投放的小伙伴经常遇到一个难题,那就是投放的Facebook广告被拒或广告帐户被关闭赞停的经历,随之而来的更可能是广告账户被封,导致资金的损失。本文将从我自身经验,为大家分享,FB广告被暂停的原因有哪些&a…

Java多线程interrupt、interrupted、isInterrupted详解

一、概念 1.1 interrupt方法应用场景 用来打断正在阻塞的线程:sleep/wait/join打断正常的线程 1.2 interrupt() 方法 Thread类的实例方法,其作用是中断此线程(此线程不一定是当前线程,而是指调用该方法的Thread实例所代表的线程…

【手写模拟Spring底层原理】

文章目录 模拟Spring底层详解1、结合配置类,扫描类资源1.1、创建需要扫描的配置类AppConfig,如下:1.2、创建Spring容器对象LyfApplicationContext,如下1.3、Spring容器对象LyfApplicationContext扫描资源 2、结合上一步的扫描&…