docker compose copy,docker compose怎么部署主从复制

科技资讯 投稿 6000 0 评论

docker compose copy,docker compose怎么部署主从复制

以下内容主要是针对遇上docker compose怎么部署主从复制等问题,我们该怎么处理呢。下面这篇文章将为你提供一个解决思路,希望能帮你解决到相关问题。

一、什么是主从复制

主从复制(Master-Slave Replication)是指一台服务器(主服务器)的数据库变化,通过网络传输到另一台服务器(从服务器)上,从而使得两台服务器上的数据保持同步。主从复制可以提高数据库的可用性、安全性和数据完整性。

二、docker compose部署主从复制

1、构建docker-compose.yml文件,添加Mysql容器:


version: '3.3'
services:
  master:
    image: mysql
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: test
    ports:
      - "3306:3306"
    volumes:
      - ./master:/var/lib/mysql
    restart: always
  slave:
    image: mysql
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: test
    ports:
      - "3307:3306"
    volumes:
      - ./slave:/var/lib/mysql
    restart: always

2、启动容器:


docker-compose up -d

3、进入主容器:


docker exec -it master bash

4、在主容器中,查看MySQL版本:


mysql --version

5、在主容器中,查看MySQL的binlog位置:


show variables like 'log_bin%';

6、在主容器中,设置MySQL的binlog格式:


set global binlog_format='ROW';

7、在主容器中,查看主容器的server_id:


show variables like 'server_id';

8、在主容器中,创建复制用户:


grant replication slave on *.* to 'repl'@'%' identified by '123456';

9、在主容器中,查看主容器的binlog文件名和位置:


show master status;

10、进入从容器:


docker exec -it slave bash

11、在从容器中,设置从容器的server_id:


set global server_id=2;

12、在从容器中,开启从服务:


CHANGE MASTER TO MASTER_HOST='172.17.0.3',MASTER_USER='repl',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000003',MASTER_LOG_POS=154;
start slave;

13、在从容器中,查看复制状态:


show slave status \G;

三、docker compose部署主从复制的优点

1、docker compose部署主从复制,可以快速搭建开发环境,方便快捷,极大的提高了工作效率。

2、docker compose部署主从复制,可以把复杂的操作变得简单,把复杂的配置变得可视化,把复杂的环境变得可控。

3、docker compose部署主从复制,可以更好的实现自动化部署,可以让部署变得更加规范,可以让维护变得更加方便。

总结

以上就是为你整理的docker compose怎么部署主从复制全部内容,希望文章能够帮你解决相关问题,更多请关注本站相关栏目的其它相关文章!

编程笔记 » docker compose copy,docker compose怎么部署主从复制

赞同 (31) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽