Docker —— MySQL主从复制集群

架构图

+-------------------+ +--------------------+ +--------------------+

| | | | | |

| MySQL Master |--------------------------| MySQL Slave 1 |--------------------------| MySQL Slave 2 |

| IP: 172.18.0.10 | | IP: 172.18.0.11 | | IP: 172.18.0.12 |

| Port: 3306 | | Port: 3306 | | Port: 3306 |

| Data Dir: /data/mysql/master | Data Dir: /data/mysql/slave1 | Data Dir: /data/mysql/slave2 |

+-------------------+ +--------------------+ +--------------------+

配置文件复制

启动临时 MySQL 容器用于提取配置文件

我们先启动一个临时的 MySQL 容器,用于从中拷贝默认配置文件:

复制代码
docker run -d --name mysql-temp mysql:8.0

等待几秒后,执行以下命令将配置文件复制到本地:

复制代码
mkdir -p /data/mysql/conf
​
docker cp mysql-temp:/etc/my.cnf /data/mysql/conf/my.cnf

停止并删除临时容器:

复制代码
docker stop mysql-temp && docker rm mysql-temp

创建主从节点的目录结构

复制代码
mkdir -p /data/mysql/{master,slave1,slave2}/{conf,data}

将配置文件分别复制到对应的目录中:

复制代码
cp /data/mysql/conf/my.cnf /data/mysql/master/conf/
cp /data/mysql/conf/my.cnf  /data/mysql/slave1/conf/
cp /data/mysql/conf/my.cnf  /data/mysql/slave2/conf/
相关推荐
巧妹儿1 分钟前
AI Agent 实战:MySQL 监控指标查询 Skill|华为云 + 腾讯云双兼容可直接复用
python·mysql·ai·大模型·华为云·腾讯云
无巧不成书02184 分钟前
基于WSL 2的Docker远程开发全栈实战指南
运维·docker·容器·docker desktop·wsl 2·vs code远程开发·容器化开发
Renhao-Wan7 分钟前
Docker 核心原理详解:镜像、容器、Namespace、Cgroups 与 UnionFS
java·后端·docker·容器
赵庆明老师8 分钟前
Linux Docker打包
linux·运维·docker
Eloudy10 分钟前
docker pull ubuntu:22.04 失败的解决记录
运维·docker·容器
Wait....18 分钟前
MySQL事务知识复习
数据库·mysql
我真会写代码1 小时前
MySQL高频面试题(含详细解析):从基础到高级,备战面试不踩坑
数据库·mysql·面试
qq_283720051 小时前
MySQL 8.0新特性高频面试题 30 道(超详细答案)
数据库·mysql·面试·mysql8·高频试题
源码站~2 小时前
基于Spring Boot+Vue3的烹饪交流学习系统 设计与实现
java·vue.js·spring boot·后端·mysql·毕业设计·毕设
014-code2 小时前
MySQL 很实用的 SQL 语句清单(排障与日常运维)
sql·mysql