1. 拉取镜像

docker pull mysql:5.7.

2. 运行这个镜像

docker run -d --name maser mysql:5.7.

3. 安装一些必要的软件

docker exec -it master /bin/bash

apt-get update
apt-get install vim 安装必要的软件

4. 生成一个带vim编辑器的mysql images

docker commit master mysqlwithvim:

5.创建部分目录

mkdir /mysql
cd mysql
mkdir master/data
mkdir slave/data

创建master和slave 的部分配置文件
vim my.cnf
内容为: [mysqld]
log-bin=mysql-bin
server-id=100 slave的配置文件为
[mysqld]
server-id=200

6. 启动两个container

docker rm -f master

docker run -d --name master -p :3306  -e MYSQL_ROOT_PASSWORD='Test6530' mysqlwithvim:20180822
docker run -d --name slave -e MYSQL_ROOT_PASSWORD='Test6530' mysqlwithvim:20180822

7. 进入 master 容器进行设置

docker exec -it master /bin/bash

#输入
mysql -u root -p
#输入密码 Test6530
#创建同步用户。
CREATE USER 'zhaobsh'@'%' IDENTIFIED BY 'Test6530';
#增加权限
GRANT REPLICATION SLAVE ON *.* TO 'zhaobsh'@'%';
GRANT ALL ON *.* TO 'zhaobsh'@'%';
flush privileges;
#查看数据库的状态
show master status; 结果为:

+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000003 | 949 | | | |
+------------------+----------+--------------+------------------+-------------------+

查看ip地址

vi /etc/hosts

8. 进入slave容器进行处理。

docker exec -it slave /bin/bash

#输入
mysql -u root -p
#输入密码 Test6530 CHANGE MASTER TO MASTER_HOST='172.17.0.2', MASTER_USER='zhaobsh', MASTER_PASSWORD='Test6530', MASTER_LOG_FILE='mysql-bin.000003', MASTER_LOG_POS=949; #跟上面的查询结果对应.

9. 查看slave 的状态

在mysql 下面执行

start slave;
show slave status\G

10. 报错如图示

这里需要改改 重启一下 master和 slave 貌似 之前的 my.conf 没生效

重启一下 应该就可以了

测试同步

master 创建一个数据库

slave 在前后查看 能够同步

study From

https://blog.csdn.net/boling_cavalry/article/details/79751085

Docker 下 mysql 简单的 主从复制实现的更多相关文章

  1. Linux - centos7 下 MySQL(mariadb) 和 主从复制

    目录 Linux - centos7 下 MySQL(mariadb) 和 主从复制 MySQL(mariadb) 安装MySQL(mariadb) 配置数据库的中文支持 在远程用 mysql客户端去 ...

  2. Windows 下 MySQL 简单定时自动备份、删除过期备份

    Windows 下 MySQL 简单定时自动备份.删除过期备份 MySQL Workbench 客户端虽然好用,但并不提供自动备份功能.手工备份,确实繁琐. 新建一个 数据库备份文件存放目录,本例为D ...

  3. docker下MySQL的主从复制

    MySql的主从复制 sudo docker pull MySQL:5.7 拉取MySQL的镜像文件(版本号为 5.7) sudo docker run -p 3339:3306 --name mas ...

  4. docker 下mysql 和postgresql 数据库的搭建以及数据文件的迁移和备份

    service docker start - docker 启动 service docker stop - docker 关闭 1.docker 镜像创建—使用的默认镜像有数据卷 docker pu ...

  5. Docker下mysql容器开启binlog日志(保留7天)

    现有需求开启用Docker容器启动的mysql数据库的binlog,以作为 日志记录 和 数据恢复,我们了解了MySQL的binlog日志的开启方式以及binlog日志的一些原理和常用操作,我们知道, ...

  6. 修改docker下mysql配置

    1.在/home/smile/docker/mysql/config/目录下增加一个文件 my.cnf # Copyright (c) , Oracle and/or its affiliates. ...

  7. Docker下MySQL的安装

    1 概述 本文讲述了如何利用Docker去安装MySQL,以及MySQL自定义配置文件的相关设置. 2 安装Docker 首先安装Docker并开启服务: systemctl start docker ...

  8. docker下MySQL镜像的使用方法

    预习: 使用到的docker命令: docker images   显示本地有的镜像 docker pull +镜像名称   从docker hub上面拉取镜像 docker run    --nam ...

  9. docker 搭建 MYSQL并且完成主从复制

    mysql主从复制逻辑: 1.从库执行start slave 开启主从复制. 2.从库请求连接到主库,并且指定binlog文件以及位置后发出请求. 3.主库收到从库请求后,将信息返回给从库,除了信息日 ...

随机推荐

  1. flask 入门(二)

    Windows(提前安好virtualenv:pip  install  virtualenv) 一.准备: 1.启动pycharm 2.创建flask项目 二.基本库安装和设置 1.创建沙盒virt ...

  2. $LCT$初步

    \(\rm{0x01}\) 闲话 · \(LCT\)的用途以及具体思路 LCT是啥?百度一下的话--貌似是一种检查妇科病的东西?Oier的口味可是真不一般啊 咳,其实在我最近只是浅浅地学了一部分的基础 ...

  3. 手机视频编辑软件APP

    1. VUE    iOS/Android 2.Alive    iOS/Android 3.Splice  iOS 4. Plotagragh+   能让照片动起来的app 5.Cinepic  能 ...

  4. html元素的分类以及特点

    解释几个概念: 替换元素:官方解释是,一个内容不受css视觉格式化模型控制,css渲染模型并不考虑对此内容的渲染,且元素一般拥有固定的尺寸,(高度,宽度)的元素,被称为置换元素.通俗来说就是浏览器根据 ...

  5. 自研后端HTTP请求参数验证器服务ParamertValidateService

    好处:方便了后端对HTTP请求中参数进行核验,只需一次编写效验器,一行代码便可对所有参数的pojo进行参数核验!而且更改效验逻辑时只需要更改效验器类即可,实现了解耦合. 只需要程序员按照规范开发一个P ...

  6. SAP查询TABLE对应的文本表

    SAP 取数时,通常配置项,需要取对应的文本描述,一般在配置表后加个T,就可以找到描述对应的表名. 但有时也有不符合这个规则的,例如生产订单类型数据表 T003O. 表名加T后并不存T003OT. 这 ...

  7. Liunx-cp命令

    1. 复制当前目录的test文件夹 到/201904 目录 出现如下截图问题是因为test目录下还有文件,所以得加-r,使用递归拷贝.我现在用这个命令拷贝文件都加-r了,不管有文件还是没文件 2.复制 ...

  8. # 20155319 Exp3 免杀原理与实践

    20155319 Exp3 免杀原理与实践 基础问题 (1)杀软是如何检测出恶意代码的? 基于特征码的检测 启发式的恶意软件检测 基于行为的恶意软件检测 (2)免杀是做什么? 免杀,从字面进行理解,避 ...

  9. 20155336 虎光元《网络攻防》Exp2后门原理与实践

    20155336 虎光元<网络攻防>Exp2后门原理与实践 一.实验内容 (1)使用netcat获取主机操作Shell,cron启动 (0.5分) (2)使用socat获取主机操作Shel ...

  10. pygame 入门实例

    本文基于win7(64) + py3.5(64)环境. 本文是这里的一篇学习笔记.加入了自己的理解. 本文最终目的是实现一个飞机躲避导弹的游戏. 1.核心概念 pygame 的核心概念有: Surfa ...