docker 配置 redis 主从

安装MySQL

使用Docker拉取MySQL镜像

 # docker pull mysql:5.7

利用刚才的镜像构建容器

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

docker run --name slave -p 3506:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7

查看容器是否成功

[root@localhost ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
53c7082cc45c        mysql:5.7           "docker-entrypoint.s…"   About an hour ago   Up 28 minutes       33060/tcp, 0.0.0.0:3506->3306/tcp   slave
01bc525eb7f7        mysql:5.7           "docker-entrypoint.s…"   5 hours ago         Up 29 minutes       33060/tcp, 0.0.0.0:3406->3306/tcp   master

修改配置文件

# 确定 master 容器 msyql 配置文件(现在的容器是 mysqld.cnf)
#第一步 拷贝容器的文件到 宿主机(如果没有 对应的目录需要创建)
 docker cp master:/etc/mysql/mysql.conf.d/mysqld.cnf /usr/local/mysql/master/mysqld.cnf
# 第二步 编辑 mysqld.cnf 在 [mysqld] 节点最后加上后保存
log-bin=mysql-bin 
server-id=1  # 很重要 这个是唯一 用来生成 uuid

# 第三步 拷贝配置文件到 容器
docker cp /usr/local/mysql/master/mysqld.cnf  master:/etc/mysql/mysql.conf.d/mysqld.cnf

# 第四步 从容器同样的操作 server-id 不能相同(切记)

# 记得重启容器

navicat 连接 (master)msyql 服务器 实现主从复制

show master status;

docker  配置 redis 主从

navicat 连接 (slave)msyql 服务器 实现主从复制

STOP SLAVE;

CHANGE MASTER TO 
MASTER_HOST='192.168.56.99',
MASTER_PORT=3406,
MASTER_LOG_FILE='mysql-bin.000002', 
MASTER_LOG_POS = 1640,
MASTER_USER='root',
MASTER_PASSWORD='root';

START SLAVE;

show slave status;

在 从 容器 查看 主从复制状态

show slave status;

docker  配置 redis 主从
两个都为 YES 说明成功
如果有问题,需要检查 IP,端口 ,用户名和密码,MASTER_LOG_FILE,MASTER_LOG_POS 是否正确

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
未填写
文章
77
粉丝
8
喜欢
43
收藏
49
排名:84
访问:10.4 万
私信
所有博文
社区赞助商