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 小时前
Kubernetes技术入门与实践(二):常用命令
云原生·容器·kubernetes
LSL666_2 小时前
3 安装docker
运维·docker·容器
九皇叔叔2 小时前
MySQL 8.x 隔离级别调整
数据库·mysql·事务·隔离级别
LSL666_2 小时前
4 Docker 镜像安装与容器启动
运维·docker·容器
许愿OvO3 小时前
MySQL 8.3.0 运维与集群架构实战
运维·mysql·架构
程序员张34 小时前
MySQL创建用户且只能访问指定数据库表
mysql
安逸sgr4 小时前
Hermes Agent + Obsidian 打造第二大脑(三):Docker 部署详解——从零到生产环境的完整实战指南!
运维·docker·容器·obsidian·hermes·hermesagent
小熊吃保安4 小时前
Excel下载变成了ZIP?Docker 容器里的 Content-Type 离奇失踪案
docker·go
小夏子_riotous4 小时前
Docker学习路径——9、Docker 网络深度解析:从默认网络到自定义网络实战
linux·运维·网络·docker·容器·centos·云计算
阿维的博客日记5 小时前
我现在能理解mvcc让读不阻塞,但是无法理解mvcc让写不阻塞??
mysql·事务·mvcc