Docker部署MySQL主从复制

news2024/12/28 11:37:58

文章目录

  • 平台说明
  • 一、Docker创建网络
  • 二、创建MySQL主从容器
    • 1.拉取镜像
    • 2.查看镜像
    • 3.创建启动容器
  • 三、主从配置
    • 1.主机配置文件
    • 2.从机配置文件
    • 3.注意事项
    • 4.重启容器
    • 5.连接主从数据库
      • 主机配置
      • 从机配置
      • 启动从机复制
  • 四、测试主从复制


平台说明

操作系统:Windows 11
Docker:20.10.22
MySQL:8.0.32


一、Docker创建网络

说明:方便后续MySQL主从连接

1. 创建网络

docker network create net-mysql

2. 查看网络
在这里插入图片描述


二、创建MySQL主从容器

1.拉取镜像

docker pull mysql

2.查看镜像

docker images

在这里插入图片描述

3.创建启动容器

创建MySQL主机

docker run -d -p 3310:3306 -v D:/ProgramData/docker_config/mysql/master/config:/etc/mysql/conf.d -v D:/ProgramData/docker_config/mysql/master/data:/var/lib/mysql  -e MYSQL_ROOT_PASSWORD=123456 --network net-mysql --name mysql-master mysql:latest

创建MySQL从机

docker run -d -p 3311:3306 -v D:/ProgramData/docker_config/mysql/slave-1/config:/etc/mysql/conf.d -v D:/ProgramData/docker_config/mysql/slave-1/data:/var/lib/mysql  -e MYSQL_ROOT_PASSWORD=123456 --network net-mysql --name mysql-slave-1 mysql:latest

查看容器是否启动成功

docker ps

在这里插入图片描述

三、主从配置

1.主机配置文件

在D:\ProgramData\docker_config\mysql\master\config文件夹下创建my.cnf

[mysqld]
#主服务器唯一ID
server-id=1
#启用二进制日志
log-bin=mysql-bin
#设置不要复制的数据库(可设置多个)
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
#设置需要复制的数据库 需要复制的主数据库名字
binlog-do-db=db_test
#设置logbin格式
binlog_format=STATEMENT

2.从机配置文件

在D:\ProgramData\docker_config\mysql\slave-1\config文件夹下创建my.cnf

[mysqld]
#从服务器唯一ID
server-id=2
#启用中继日志
relay-log=mysql-relay

3.注意事项

编写结束后,进行对应的容器中查看,以主机为例

进入主机的bash

docker exec -it mysql-master bash

进入启动容器时文件挂载的目录

cd /etc/mysql/conf.d

当前目录下应该是my.cnf.txt文件,需要修改文件名称,并将my.cnf内容复制到/etc/mysq目录下的my.cnf文件中,才能生效

# 查看当前目录下的文件
ls

# 修改文件名
mv my.cnf.txt my.cnf

# 复制到/etc/mysql目录下
cp my.cnf /etc/mysql/my.cnf

4.重启容器

docker restart mysql-master mysql-slave-1

5.连接主从数据库

主机配置

进入主机的bash

docker exec -it mysql-master bash

在bash中连接mysql

mysql -uroot -p

在这里插入图片描述
创建用户并授权

GRANT REPLICATION SLAVE ON *.* TO 'dev'@'%' IDENTIFIED BY '123456';

查看master状态

show master status;

在这里插入图片描述

停在这里,不要在主机上执行其他命令

从机配置

进入从机的bash

docker exec -it mysql-slave-1 bash

连接mysql

mysql -uroot -p123456

在从机的mysql中执行一下命令

CHANGE MASTER TO MASTER_HOST='172.19.0.2',
MASTER_USER='dev',
MASTER_PASSWORD='123456',
MASTER_PORT=3306,
MASTER_LOG_FILE='mysql-bin.000002',
MASTER_LOG_POS=1325;

补充说明
获取主机的IP地址

docker network inspect net-mysql

在这里插入图片描述
MASTER_PORT是3306,不是映射到宿主机的端口,千万别搞错了

MASTER_LOG_FILE和MASTER_LOG_pOS的值对应着主机最后一步操作的值
在这里插入图片描述

启动从机复制

在mysql中执行

start slave;

查看从机状态

show slave status\G;

在这里插入图片描述
Slave_IO_Running和Slave_SQL_Running显示为Yes即为成功

四、测试主从复制

MySQL主库中执行

create database db_test;
use db_test;
CREATE TABLE user ( id int UNSIGNED NOT NULL AUTO_INCREMENT, name varchar(20) NOT NULL, age int NOT NULL, PRIMARY KEY (id) );
insert into user(name, age) values('Jack', 20);

MySQL从库中查询

show databases;

在这里插入图片描述

use db_test;
show tables;

在这里插入图片描述

select * from user;

在这里插入图片描述


打完收工

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

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

相关文章

接口测试入门必会知识总结(学习笔记)

目录 什么是接口? 内部接口 外部接口 接口的本质 什么是接口测试? 反向测试 为什么说接口测试如此重要? 越接近底层的 Bug,影响用户范围越广 目前流行的测试模型 接口测试的优越性 不同协议形式的测试 接口测试工作场景…

『python爬虫』01. 爬虫入门的基础知识(保姆级图文)

目录 1. 合法性2. 爬虫原理3. 网站源代码查看4. 查看网络请求总结 欢迎关注 『python爬虫』 专栏,持续更新中 欢迎关注 『python爬虫』 专栏,持续更新中 1. 合法性 查看网站的爬虫协议,简单介绍爬虫协议robots.txt,避免爬虫爬的好…

简单理解内存分页机制

文章目录 1.CPU寻址方式2.段式内存访问的缺点3.80386两级页表4.PAE三级页表5.x64四级页表6.虚拟内存 思考一个问题:如果没有这样的分页机制时应用程序是怎么访问物理内存地址? 1.CPU寻址方式 Effective Address Base (Index * Scale) Displacement …

加载自己的图像数据集

文章目录 1 加载图像数据集2 图像预处理3 再次加载数据集4 这里还有一个问题,我们没有验证集5 构建DataLoader6 检查是否正确导入数据集 原文链接:《加载自己的图像数据集》 ​ 数据集下载链接 1 加载图像数据集 目录结构: 针对这种非常典型…

Java+proj4j实现根据EPSG编码进行坐标系转换

场景 JavaGeoTools实现WKT数据根据EPSG编码进行坐标系转换: JavaGeoTools实现WKT数据根据EPSG编码进行坐标系转换_霸道流氓气质的博客-CSDN博客 上面使用GeoTools实现坐标系转换。 VueOpenlayersproj4实现坐标系转换: VueOpenlayersproj4实现坐标系转换_霸道流…

VUE3页面div点击改变样式

如题目所示。 用上VUE之后,前后端分离,组件式开发,代码复用、独立性和隔离性都挺好,可维护性得以提高。相比之下,以前用jQuery,代码实在太多了。 不过,vue有个地方不大好,就是控制…

算法基础(二)(共有30道例题)

六、数据结构 (一)数组 定义:数组是存放在连续内存空间上的相同类型数据的集合。数组可以方便的通过下标索引的方式获取到下标下对应的数据。 注意: (1)数组下标都是从0开始的。 (2&#xff0…

【SWAT水文模型】SWAT水文模型建立及应用第二期:土地利用数据的准备(待更新)

SWAT水文模型建立及应用:土地利用数据的准备 1 简介2 土地利用数据的下载1.1 数据下载方式1.2 数据下载 2 土地利用数据的准备2.1 矢量转栅格2.2 土地利用类型的重分类2.3 土地利用分布图投影调整2.4 土地利用类型索引表建立 参考 SWAT水文模型建立及应用第一期主要…

前苹果设计总监创办,Humane想用AI+AR界面取代手机

在2001年,微软研究院一位工程师Gordon Bell开始了一段长时间的“生活记录”(Lifelogging)之旅,他会在胸前、头顶或是眼镜腿处佩戴相机,每30秒自动拍摄一张照片,以捕捉自己生命中的瞬间,记录下他…

数字化转型导师坚鹏:金融科技与保险公司转型

金融科技与保险公司转型 课程背景: 数字化背景下,很多保险公司存在以下问题: 不了解保险公司数转型现状、困惑与成功方法? 不清楚金融科技如何赋能保险公司数字化转型? 不了解保险公司数字化转型标杆企业成功案…

Linux系统上C程序的编译与调试

gcc分布编译链接: 预处理(Pre-Processing)编译(Compiling)汇编(Assembling)链接(Linking) gcc -E hello.c -o hello.i #预处理 gcc -S hello.i -o hello.s #编译 gcc -c…

ThingsBoard教程更新通知,规则节点全解析系列更新

前言 自从 《ThingsBoard系列教程》 专栏上线,我收到了很多读者的认同和肯定,这是我一直坚持分享的理由之一,做有价值的事,帮助他人。前段时间因为写书和学习的原因,ThingsBoard专栏已经4个月没更新。这就导致一些读者…

【点击查看】讯飞星火正在回答···

Hi,开发者: 关于世界,你有过什么样的疑问?每一次的提问,都代表着我们在关注什么,思考什么,好奇什么。世界的每一次更新,都始于一个新的提问。 我是讯飞星火认知大模型,…

【爆肝更新】第二章:Python基础语法——保姆级,超万字!

这一章我们开始学习Python的基础语法,包含字面量,运算符,变量,字符串格式化,input函数等,这一章是为整个Python体系学习打好基础,所以一定要重视起来。 习惯看视频的同学可以看这个免费教程&am…

面试题30天打卡-day13

1、Linux 中的硬链接和软连接是什么,二者有什么区别? 在Linux系统下,有两种链接文件,一种是硬链接(Hard Link),一种是软链接,也称为符号链接(Symbolic Link)…

Linux-使用mobaxterm连接虚拟机ubuntu

一、准备工作 VMware:16.0.0 Ubuntu:18.4 MobaxTerm:链接:https://pan.baidu.com/s/1dNsahe9wO5KrWlWXtNqT0A?pwdaz39 提取码:az39 二、实操 1.检查系统是否安装ssh service sshd status 如果显示未安装&#xff0…

Notes/Domino的未来在于

大家好,才是真的好。 很多企业不谈论应用程序,让Domino的平台价值和市场前景变得有些黯淡。 毕竟作为全球第一款企业级的邮箱平台,过去大部分企业和组织都在使用Notes/Domino。而从10来年前,很多企业开始大规模地由Notes/Domino…

GPT-3.5 生成 Fabric Cypher

GPT-3.5 生成 Fabric Cypher GPT-3.5 生成 Fabric CypherFabric 架构图数据库节点设计图数据模型设计Fabric 快速开始指南下载必要资源配置 构建数据在graph-node-1节点构建股票图谱在graph-node-2节点构建高管图谱 GPT-3.5 生成 Fabric Cypher Here’s the table of contents:…

【Java】『蓝桥杯』10道编程题及答案(四)

系列文章 【Java】『蓝桥杯』10道编程题及答案(一) 本文链接:https://blog.csdn.net/youcheng_ge/article/details/130223115 【Java】『蓝桥杯』10道编程题及答案(二) 本文链接:https://blog.csdn.net/y…

五种PDF转Word免费的软件!(附带转换效果对比!)

本文将介绍种PDF转Word免费软件,让您快速将PDF文件转换为可编辑的Word文件。 随着现代科学技术的飞速发展,PDF格式已经成为我们工作和生活中常用的文档格式之一。PDF文件的格式是固定的,不容易被篡改,因此经常被用来制作各种关键文…