docker实现mysql主从复制
2021/11/19 19:10:07
本文主要是介绍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
说明:
- --name mysql-master 指定实例名称 “mysql-master” 可以根据需要更改
- --restart always 容器退出时总是重启容器
- -p 3306:3306 暴露容器的端口给主机,前面是主机端口,后面是容器端口
- -e MYSQL_ROOT_PASSWORD=admin 配置root用户的密码为 “admin”
- -e MYSQL_REPLICATION_MODE=master 复制模式,可选值
master
/slave
- -e MYSQL_REPLICATION_USER=vvrepl 第一次运行时在主服务器上创建的复制用户
- -e MYSQL_REPLICATION_PASSWORD=vvrepl 复制用户密码
- -v /data/mysql:/bitnami/mysql/data 容器卷挂载,宿主机的
/data/mysql
目录与容器的/bitnami/mysql/data
挂载 - -e TZ=Asia/Shanghai 设置容器时区为 亚洲/上海
通过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
这篇关于docker实现mysql主从复制的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-16MySQL资料:新手入门教程
- 2024-11-16MySQL资料:新手入门教程
- 2024-11-15MySQL教程:初学者必备的MySQL数据库入门指南
- 2024-11-15MySQL教程:初学者必看的MySQL入门指南
- 2024-11-04部署MySQL集群项目实战:新手入门教程
- 2024-11-04如何部署MySQL集群资料:新手入门指南
- 2024-11-02MySQL集群项目实战:新手入门指南
- 2024-11-02初学者指南:部署MySQL集群资料
- 2024-11-01部署MySQL集群教程:新手入门指南
- 2024-11-01如何部署MySQL集群:新手入门教程