docker配置mysql主从复制

AlanH 2019-01-29 原文

docker配置mysql主从复制

docker配置mysql主从复制

主库

  • 拉取镜像

    • docker pull mysql

  • 查看镜像

    • docker images

  • 创建主从配置文件目录

    • mkdir /data/docker/mysql/{master,slave} -pv

  • 配置主配置文件

    • vi /data/docker/mysql/master/my.cnf

    • [mysqld]
      server-id=1
      log-bin=master-bin
      log-bin-index=master-bin.index
      default-authentication-plugin=mysql_native_password
  • 创建主数据文件

    • mkdir /data/docker/mysql/master/data

  • 启动主库实例

    • docker run -d -e MYSQL_ROOT_PASSWORD=root --name mysql-master -v /data/docker/mysql/master/data:/var/lib/mysql -v /data/docker/mysql/master/my.cnf:/etc/my.cnf -p 3316:3306 mysql
  • 进入主库

    • 先进入到容器 docker exec -it mysql-master /bin/bash

    • mysql -uroot -proot

  • 检查配置是否成功

    • show variables like ‘%server_id%’ 得到相应的server_id表示配置成功

  • 查看对应的同步文件

    • show master status

 


从库

  • 配置从配置文件

    • vi /data/docker/mysql/slave/my.cnf

    • [mysqld]
      server-id=2
      skip-slave-start=true
      read_only=ON
      relay-log=relay-bin
      relay-log-index=relay-bin.index
      default-authentication-plugin=mysql_native_password
  • 创建从数据文件

    • mkdir /data/docker/mysql/slave/data

  • 启动从库实例

    • docker run -d -e MYSQL_ROOT_PASSWORD=root --name mysql-slave -v /data/docker/mysql/slave/data:/var/lib/mysql -v /data/docker/mysql/slave/my.cnf:/etc/my.cnf -p 3326:3306 mysql
  • 进入主库

    • 先进入到容器 docker exec -it mysql-master /bin/bash

    • mysql -uroot -proot

  • 检查配置是否成功

    • show variables like ‘%server_id%’ 得到相应的server_id表示配置成功

  • 配置从库同步主库

    • change master to master_host='192.168.1.22',master_user='root',master_password='root', master_log_file='master-bin.000003',master_log_pos=155,master_port=3316;
       
    • 注意 master_log_file为主库的最新日志,master_log_pos 最后的执行点,可以通过在主库执行show master status 来查看

  • 开始同步

    • start slave

  • 检查同步配置

    • show slave status \G

    • 注意 Slave_IO_Running 与 Slave_SQL_Running 的值都必须为YES,才表示状态正常。

    •  

发表于 2019-01-29 14:02 Alan黄 阅读() 评论() 编辑 收藏

 

版权声明:本文为AlanH原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/AlanH/p/10333790.html

docker配置mysql主从复制的更多相关文章

随机推荐

  1. vue自定义组件中的v-model简单解释

    在使用iview框架的时候,经常会看到组件用v-model双向绑定数据,与传统步骤父组件通过props传值子组 […]...

  2. .NET WEB API关键过程 思维导图

    ...

  3. 利用.NET Core类库System.Reflection.DispatchProxy实现简易Aop

    Aop即是面向切面编程,众多Aop框架里Castle是最为人所知的,另外还有Autofac、还有死去的Spri […]...

  4. 程序员的自我修养系列(一):聊聊专业和业余 – 敏捷的水

    程序员的自我修养系列(一):聊聊专业和业余 2019-02-27 21:21  敏捷的水  阅读(4681)  […]...

  5. 带着萌新看springboot源码11(springboot启动原理 源码上)

    带着萌新看springboot源码11(springboot启动原理 源码上)     通过前面这么多讲解,s […]...

  6. C++文件读写

    本文主要用于探讨使用C++来进行文件读写操作。 本文主要用于探讨使用C++来进行文件读写操作。 在C++中,所 […]...

  7. python中执行js

    import execjs #执行本地的js def get_js(): # f = open("D:/Wor […]...

  8. Redis持久化

    持久化就是将 Redis 的所有数据保存在内存中,对数据的更新将异步保存到硬盘上 持久化的实现方式: 快照:在 […]...

展开目录

目录导航