docker搭建mysql集群

要求:一台装有centos7.6以上的服务器,docker安装完毕

该方法是基于dockers搭建的mysql的主从集群,一主一从

拉取mysql的镜像

docker pull mysql:8.0.25
在这里插入图片描述

启动容器,以该镜像启动2个容器

1.主库的容器
docker run -p 3307:3306 --name mysql-master -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.25
2.从库的容器
docker run -p 3308:3306 --name mysql-master -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.25
3.使用docker ps -a检查容器是否启动成功
在这里插入图片描述

进入到主库和从库的容器中修改对应的数据

1.主库
docker exec -it mysql-master /bin/bash 进入到容器
echo -e "[mysqld]\nserver-id=100\nlog-bin=mysql-bin" >> etc/mysql/my.cnf 修改配置文件
service mysql restart 重启服务
2.从库
docker exec -it mysql-slave /bin/bash 进入到容器
echo -e "[mysqld]\nserver-id=101\nlog-bin=mysql-bin" >> etc/mysql/my.cnf 修改配置文件
service mysql restart 重启服务
3.因为服务重启之后退出容器会关闭,所以需要重启这两个容器
docker restart mysql-master
docker restart mysql-slave

开启数据库主从复制

1.进入到主库中,连接上mysql,创建一个便于从库登陆的用户
CREATE USER 'slave'@'%' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%';
2.重置偏移量
reset master;
3.进入到从库中,连接主库
ip可以用docker inspect 容器名称/容器id获取

change master to master_host='172.17.0.2',
master_user='slave',
master_password='123456',
master_port=3306,
master_log_file='mysql-bin.000001',
master_log_pos= 0,
master_connect_retry=30;

4.启动主从
start slave;
5.查看主从
show slave status;
注意Slave_IO_Running和Slave_SQL_Running都是yes的时候,主从集群搭建成功
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值