Docker部署Mysql主从架构和问题

本文详细介绍了如何在Docker环境下设置MySQL主从复制,包括安装MySQL镜像、复制配置文件、部署master和slave节点、配置主从文件、处理数据库关系以及解决启动错误。同时,针对 Slave_IO_running 为 No/Connection 的问题,提供了配置文件、用户权限和日志同步的排查方法。

一、安装Mysql

1.1 https://hub.docker.com/ 查询镜像

在这里插入图片描述

1.2 查找对应版本在这里插入图片描述

1.3 查看已安装的镜像,我使用的是5.7版本

在这里插入图片描述

二、复制配置文件

2.1 启动mysql容器

docker run -d -p 3309:3306 \
--name master \
-e MYSQL_ROOT_PASSWORD=root \
mysql:5.7

2.2. 复制配置文件到本地

# 容器交互,只能和运行中的容器交互
docker exec -it word-mysql mysql -uroot -proot
docker exec -it word-mysql /bin/bash
# 复制master、slave配置文件
docker cp 36b57f024852:/etc/mysql/mysql.conf.d /opt/word-mysql-master/conf/
docker cp 36b57f024852:/etc/mysql/mysql.conf.d /opt/word-mysql-slave/conf/
docker cp 36b57f024852:/var/log /opt/word-mysql-master/
docker cp 36b57f024852:/var/log /opt/word-mysql-slave/

三、Mysql master、slave节点部署

3.1 挂载启动容器

docker run -d -p 3306:3306 \
--name word-mysql-master \
-v /Users/zoo/Documents/JavaEnvironment/Docker/Mysql/word-master/conf/mysql.conf.d:/etc/mysql/conf.d \
-v /Users/zoo/Documents/JavaEnvironment/Docker/Mysql/word-master/log:/var/log/mysql \
-v /Users/zoo/Documents/JavaEnvironment/Docker/Mysql/word-master/data:/var/lib/mysql \
--net mysql-network \
--ip 10.10.10.9 \
-e MYSQL_ROOT_PASSWORD=root \
mysql

3.2 extnetwork 报错需自定义网卡

# 安装network
docker network create --driver bridge --subnet 10.10.10.0/24 --gateway 10.10.10.1 mysql-network
# 删除网卡
docker network rm 网卡ID

3.3 删除容器,先停止后删除,然后在执行第一步

docker stop word-mysql-master
docker rm word-mysql-master

3.4 启动slava节点部署

docker run -d -p 3307:3306 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值