数据库
首页 > 数据库> > docker实现mysql主从复制

docker实现mysql主从复制

作者:互联网

一、准备镜像

使用 bitnami/mysql 镜像

网址:https://hub.docker.com/r/bitnami/mysql

这里的镜像版本号为 5.7.30

下载镜像

docker pull bitnami/mysql:5.7.30

保存镜像到本地、加载本地镜像文件

docker save bitnami/mysql:5.7.30 -o bitnami.mysql.5.7.30.tar

docker load -i bitnami.mysql.5.7.30.tar

二、搭建mysql主从复制

1.主机准备

主机名 IP地址
docker101 192.168.7.101
docker102 192.168.7.102

两台主机均安装 bitnami/mysql:5.7.30 基础镜像

2.主节点主机操作

创建持久化目录,并赋予权限

mkdir -p /data/mysql
chmod 777 /data/mysql

创建主节点

docker run -d --name mysql-master \
  --restart always \
  -p 3306:3306 \
  -e MYSQL_ROOT_PASSWORD=admin \
  -e MYSQL_REPLICATION_MODE=master \
  -e MYSQL_REPLICATION_USER=vvrepl \
  -e MYSQL_REPLICATION_PASSWORD=vvrepl \
  -v /data/mysql:/bitnami/mysql/data \
  -e TZ=Asia/Shanghai \
  bitnami/mysql:5.7.30

说明:

通过sql文件初始化数据库

docker exec -i mysql-master sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD"' < /data/db_backup.sql

3.从节点主机操作

创建持久化目录,并赋予权限

mkdir -p /data/mysql
chmod 777 /data/mysql

创建从节点

docker run -d --name mysql-slave \
  --restart always \
  -p 3306:3306 \
  -e MYSQL_REPLICATION_MODE=slave \
  -e MYSQL_REPLICATION_USER=vvrepl \
  -e MYSQL_REPLICATION_PASSWORD=vvrepl \
  -e MYSQL_MASTER_HOST=192.168.7.101 \
  -e MYSQL_MASTER_ROOT_PASSWORD=admin \
  -e MYSQL_MASTER_PORT_NUMBER=3306 \
  -v /data/mysql:/bitnami/mysql/data \
  -e TZ=Asia/Shanghai \
  bitnami/mysql:5.7.30

标签:主从复制,mysql,REPLICATION,MYSQL,docker,bitnami,data
来源: https://www.cnblogs.com/ww1984/p/15578651.html