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/
相关推荐
霖霖总总3 小时前
[小技巧60]深入解析 MySQL Online DDL:MySQL Online DDL、pt-osc 与 gh-ost 机制与最佳实践
数据库·mysql
心理之旅3 小时前
高校文献检索系统
运维·服务器·容器
大佐不会说日语~4 小时前
使用Docker Compose 部署时网络冲突问题排查与解决
运维·网络·spring boot·docker·容器
怣505 小时前
[特殊字符] MySQL数据表操作完全指南:增删改查的艺术
数据库·mysql·adb
安然无虞5 小时前
「MongoDB数据库」初见
数据库·mysql·mongodb
Mr_Xuhhh6 小时前
MySQL视图详解:虚拟表的创建、使用与实战
数据库·mysql
AI_56786 小时前
MySQL索引优化全景指南:从慢查询诊断到智能调优
数据库·mysql
小徐敲java6 小时前
(运维)1Panel服务器面板Docker部署
运维·服务器·docker
定偶6 小时前
MySQL多表连接查询详解
c语言·数据库·mysql
bamboolm6 小时前
java mysql 权限状态、流程问题
数据库·mysql