1.在docker上启动2台mysql容器:(这里3306为主,3307为从)

docker run -d  -e MYSQL_ROOT_PASSWORD=123456  -p 3306:3306 --name 镜像id

2.配置主的mysql:

1)进入主容器:

docker exec -it 主容器ID  /bin/bash

cd etc/mysql/

2)安装vim命令

apt-get update

apt-get install vim

3)编辑my.cnf,在结尾添加:3行(vim my.cnf,按insert,添加完毕,shitf+:+wq保存)

[mysqld]

server-id=100
log-bin=mysql-bin

4)重启容器:

service mysql restart

ctrl+d 退出

docker start 主容器id

5)进入容器,创建从用户,登录主mysql的账号:

docker exec -it 主容器ID  /bin/bash

mysql -u root -p

输入密码

然后填写下面两句:

CREATE USER 'slave'@'%' IDENTIFIED BY '123456';

GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%';

3.配置从mysql

进入从mysql容器,同上修改从容器的my.cnf

进入主mysql,输入show master status;

在docker中查看mysql的Master的地址:docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器id

进入从mysql,配置主从的连接:

1.stop slave;

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

3.start slave;

在从mysql查看状态为下图,则配置成功:

4.测试:在主mysql建立数据库,修改字段等,从mysql会有相同反应则成功了。

总结:主从复制主要通过二进制文件来实现

主mysql配置:1.my.cnf 2.创建从用户登录的账号和密码

从mysql配置:1.my.cnf 2.建立主从之间的连接的slave

参考:(https://www.cnblogs.com/songwenjie/p/9371422.html,http://blog.chinaunix.net/uid-24426415-id-77316.html)

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

  1. 1.Mysql集群------Docker下的Mysql主从复制

    前言: 实话说,我想做的是Mysql集群架构. 我的计划是: 1.实现Docker下的Mysql主从复制 2.实现MyCat基于Mysql的读写分离 3.实现MyCat的分库分表 4.实现pxc集群 ...

  2. 配置MySQL主从复制和读写分离

    实验环境 序号 主机名 IP地址 备注 1 mysql-master 192.168.204.201 MySQL主库 2 mysql-slave 192.168.204.202 MySQL从库 3 a ...

  3. 【数据库开发】在Windows上和Linux上配置MySQL的过程

    [数据库开发]在Windows上和Linux上配置MySQL的过程 标签(空格分隔): [编程开发] 首先是在Windows上尝试用QT进行MySQL数据库开发,结果总出现driver不能load的错 ...

  4. 配置MySQL主从复制报错Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be different for replication to work

    配置MySQL主从复制报错 ``` Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave ha ...

  5. 基于Docker Compose搭建mysql主从复制(1主2从)

    系统环境 * 3 Ubuntu 16.04 mysql 8.0.12 docker 18.06.1-ce docker-compose 1.23.0-rc3 *3 ==> PS  ###我用的是 ...

  6. Docker实战之MySQL主从复制

    前言 曾几何时,看着高大上的架构和各位前辈高超的炫技,有没有怦然心动,也想一窥究竟?每当面试的时候,拿着单应用的架构,吹着分库分表的牛X,有没有心里慌的一批? 其实很多时候,我们所缺少的只是对高大上的 ...

  7. centos 配置mysql主从复制

    mysql+centos7+主从复制   MYSQL(mariadb) MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可.开发这个分支的原因之一是:甲骨文公 ...

  8. 如何利用docker快速构建MySQL主从复制环境

    在学习MySQL的过程中,常常会测试各种参数的作用.这时候,就需要快速构建出MySQL实例,甚至主从. 考虑如下场景: 譬如我想测试mysqldump在指定--single-transaction参数 ...

  9. centos 7 上配置mysql 开机启动详解

    之前多次在centos7环境下配置mysql开机自启动出现了错误.现留下篇文章已做记录 一.centos7与centos6相比有什么不同: 1 在centos7中服务不在是用service这个命令来启 ...

随机推荐

  1. Pytorch里的CrossEntropyLoss详解

    在使用Pytorch时经常碰见这些函数cross_entropy,CrossEntropyLoss, log_softmax, softmax.看得我头大,所以整理本文以备日后查阅. 首先要知道上面提 ...

  2. 【easy】226. Invert Binary Tree 反转二叉树

    /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode ...

  3. noj算法 素数环 回溯法

    描述: 把1到20这重新排列,使得排列后的序列A满足:a. 任意相邻两个数之和是素数b. 不存在满足条件a的序列B使得:A和B的前k(0 <= k <= 19)项相同且B的第k+1项比A的 ...

  4. Flutter终将逆袭!1.2版本发布,或将统一江湖

    在去年 MWC 大展上发布首个 Beta 版后,Flutter 1.0 正式版于 2018 年 12 月召开的 Flutter Live 2018 上正式发布.今天在巴塞罗那召开的 MWC 发布会上, ...

  5. MySQL查询表中某个字段的重复数据

    1. 查询SQL表中某个字段的重复数据 SELECT user_name,COUNT(*) AS count FROM db_user_info GROUP BY user_name HAVING c ...

  6. webstorm主要快捷键

    1.  必备快捷键 Ctrl+/:注释当前行    F11:全屏    Alt+数字:切换打开第N个文件    Ctrl+Shift+P:打开命令面板    Ctrl+P:搜索项目中的文件    Ct ...

  7. jq-css、class、属性操作

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  8. echart 常用配置

    mytextStyle={ color:"#333", //文字颜色 fontStyle:"normal", //italic斜体 oblique倾斜 font ...

  9. numpy有什么用【老鱼学numpy】

    老鱼为了跟上时代潮流,也开始入门人工智能.机器学习了,瞬时觉得自己有点高大上了:). 从机器学习的实用系列出发,我们会以numpy => pandas => scikit-learn =& ...

  10. Dapper官方库 在guid和string互转的问题

    之前在和老何谈论他的开源项目Util中使用MySql的过程中发现了官方dapper在转换guid到string时候的一个错误 Error parsing column 0 (ID=6c2adb93-d ...