配置准备

两台机器

两台机器:A(193.168.10.101)  B(193.168.10.102) 做好ssh免密登录

mysql大版本需要一致,小版本可忽略

并且两台机器已经安装好了docker

yum install docker

下载mysql镜像

docker pull mysql:5.6.31

mysql容器准备

两台机器分别启动mysql容器

[root@bigdata101 ~]# docker run -di -p 33305:3306 --name mysql_101 -v /usr/local/mysql_docker/101/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6.31[root@bigdata102 ~]# docker run -di -p 33305:3306 --name mysql_102 -v /usr/local/mysql_docker/102/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6.31

查看容器是否启动

[root@bigdata101 ~]# docker ps

分别进入两个容器,安装vim,并且修改配置文件

[root@bigdata101 ~]# docker exec -it mysql_101 /bin/bash
root@63485bfccaa1:/# apt-get update
root@63485bfccaa1:/# apt-get install vim  root@63485bfccaa1:/# vi /etc/mysql/my.cnf  #在配置文件最后添加
server-id=1
auto_increment_offset=1
auto_increment_increment=2
skip-slave-start
log-slave-updates=true

[root@bigdata102 ~]# docker exec -it mysql_102 /bin/bash
root@57ce31a494ad:/# apt-get update
root@57ce31a494ad:/# apt-get install vim  root@57ce31a494ad:/# vi /etc/mysql/my.cnf  #在配置文件最后添加
server-id=2
auto_increment_offset=2
auto_increment_increment=2
skip-slave-start
log-slave-updates=true

分别重启mysql容器

[root@bigdata101 ~]# docker restart mysql_101[root@bigdata102 ~]# docker restart mysql_102

容器配置

A(193.168.10.101) 上的容器配置

给主机B 赋予mysql权限

grant all on *.* to 'slave'@193.168.10.102 identified by '123456';

初始化bin-log日志

reset master;
show master status;

B(193.168.10.102) 上的容器配置

给主机A 赋予mysql权限

grant all on *.* to 'slave'@193.168.10.101 identified by '123456';

初始化bin-log日志

reset master;
show master status;

容器同步配置

在主机A的容器上重新登录mysql后执行:

change master to master_host='193.168.10.102',master_port=33305,master_user='slave',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=120;

这里的master_host是指主机B的ip地址,master_port是B上的mysql容器启动时赋予的端口,master_uesr是执行同步操作的用户名,master_password是执行同步的用户密码,master_log_file是主机B的bin-log日志,master_log_pos是从bin-log日志开始同步的位置。

然后开启同步  执行:

start slave;

查看是否成功:

show slave status\G;

在主机B的容器上重新登录mysql执行:

change master to master_host='193.168.10.101',master_port=33305,master_user='slave',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=120;

start slave;

show slave status\G;

此文大部分配置与 Linux下Mysql数据库互为主从的配置过程 基本一致,只是本文是基于docker的配置,所以略作修改,如有细节问题不清楚,可参考 Linux下Mysql数据库互为主从的配置过程

转载于:https://www.cnblogs.com/blazeZzz/p/10314194.html

Docker配置mysql互为主从相关推荐

  1. MYSQL互为主从部署(Censo:6)

    MYSQL互为主从 操作环境: 系统环境:centos6.5_x64 Mysql-A:192.168.153.131 Mysql-B:192.168.153.140 Mysql安装已经完成 防火墙,s ...

  2. Docker配置mysql以及宿主机容器目录挂载

    Docker配置mysql以及宿主机容器目录挂载 在之前的docker 挂载中主要说明了创建数据卷并挂载的方式.现在我们做一种创建普通目录并进行挂载的方式. 基于mysql镜像的拉取并进行配置. 首先 ...

  3. Docker 配置 PostgreSQL13 的主从环境

    Docker 配置 PostgreSQL13 的主从环境 前言 PostgreSQL 数据库支持多种复制解决方案,以构建高可用性,可伸缩,容错的应用程序,其中之一是预写日志(WAL)传送.该解决方案允 ...

  4. 使用Docker配置MySQL

    ba使用Docker配置MySQL 内容 安装Docker(略过),直接使用服务器或者你虚拟机对应的安装命令进行安装即可,安装之后打开docker服务,centos 7 下使用systemctl st ...

  5. linux下mysql单机主从配置,Linux下MySQL互为主从配置

    Linux系统环境:CentOS 6.5 master1:192.168.100.204 master2:192.168.100.205 mysql版本:mysql-5.6.19 注:mysql的5. ...

  6. docker配置mysql主从

    1.下载MySQL镜像 docker pull mysql:5.7 docker images 2.启动MySQL容器 #主库 docker run -p 3316:3306 --name main_ ...

  7. docker部署2套jumpserver并且mysql互为主从

    1.数据库 docker pull mysql:5.7 配置A机器 run不了就开关防火墙试试,重启docker docker run -p 3306:3306 --name mysql-slave ...

  8. centos mysql 互为主从_centos7 mysql互为主从+keepalived

    一.互为主从配置 1.1.资源情况 192.168.11.177 server1 192.168.11.180 server2 192.168.11.210 VIP 1.2.server1配置 # v ...

  9. win10 mysql 主从复制_win10 使用Docker配置mysql主从复制

    拉取镜像,我这里拉取5.6镜像 docker pull mysql:5.6.43 2.找一个目录编写主从库配置文件,这里我直接在上博客找的: (1)主库master.cnf文件: [mysqld] p ...

最新文章

  1. UNITY调用安桌方法出现 JNI: Init'd AndroidJavaClass with null ptr!
  2. 陈天桥:欣赏360保护隐私 用户安全永远第一
  3. (转载)jQuery 1.6 源码学习(一)——core.js[1]之基本架构
  4. 基于OWL-S的Web服务质量本体的描述模式的设计(转)
  5. tensorflow 报错(完善中)
  6. 实验 7:流类库与输入输出
  7. 【数据湖加速篇】 —— 数据湖结构化数据优化与查询加速方案
  8. Win + Appium + Android/IOS + Python环境搭建
  9. 极客大学架构师训练营 组件设计原则 安全架构 防火墙ModSecurity 第21课 听课总结
  10. rp文件转换成html,Axure产品原型在手机上运行的方法
  11. MATLAB 基础教程:编程习惯
  12. 怎么查看文件的MD5码
  13. LimeSDR实验教程(3) GSM基站
  14. ubuntu 16.04 nivida显卡驱动更新步骤
  15. 元宇宙的隐私保护:技术与监管
  16. birt 报表与润乾报表对比
  17. Python二级(04)——Python语言基本语法元素
  18. 不完整拼音模糊匹配算法
  19. Java 字节码技术:不积细流,无以成江河
  20. 基于JSP的网上书城

热门文章

  1. java爬取百度首页源代码
  2. Android得到控件在屏幕中的坐标
  3. SQL Server 求结果
  4. .NET基础 (05)内存管理和垃圾回收
  5. js 函数定义三种方式
  6. 运行nltk示例 Resource u'tokenizers punkt english.pickle' not found解决
  7. 2009 年 3月 二级 java
  8. [导入]ArcGIS破解克隆后出错问题解决
  9. 11-jQuery的事件绑定和解绑
  10. Parallel学习