依然是用docker-compose和dockerfile来创建的mysql:5.7的镜像和容器

还是贴出来吧

文件目录

一个叫mysql的文件夹,里面放了4个挂载目录,一个dockerfile ,一个docker-compose.yml

dockerfile内容

只是列举了一下master的内容,我这里的设定是master端口使用3307,其他的slave使用3308和3309,其实都是3306就可以,只要在映射端口时宿主机的端口保持不同就行,比如 -p 3307:3306

FROM mysql:5.7
ENV MYSQLDUMPDIR /mysql
EXPOSE 3307
RUN  mkdir -p $MYSQLDUMPDIR && mkdir /home/mysql
docker-compose.yml

version: "3.2"
services:mysql:
#    networks:
#      - wycbuild:context: ./dockerfile: ./dockerfilerestart: alwaysimage: wyc_mysqlcontainer_name: wyc_mysql_01ports:- "3307:3307"volumes:- "/home/fd/wycplus/mysql/conf.d/:/etc/mysql/conf.d/"- "/home/fd/wycplus/mysql/data/:/var/lib/mysql/"- "/home/fd/wycplus/mysql/log/:/var/log/mysql/"- "/home/fd/wycplus/mysql/init.d/:/docker-entrypoint-initdb.d/"environment:
#      - MYSQL_USER= 'root'
#      - MYSQL_PASS= 'root'MYSQL_ROOT_PASSWORD: rootMYSQL_ROOT_HOSE: '%'MYSQL_DATABASE: wyc_testTZ: Asia/Shanghai

以上都是其他篇幅的内容,不做多解释。以下正式开始主从复制的用法,用虚拟机克隆了3个,一个master,两个slave,master使用3307端口,两个slave分别使用3308 3309接口,master的server-id=1,两个slave的server-id 分别是2和3

1.修改配置文件

修改master和多个slave的日志:
my.conf (我的是mysql.conf,其实都一样)中加入以下内容
其中只需要改变server-id 就可以,其他的不用变,server-id不能相同,比如主用1,两个从分别是2 和3

#配置主从复制
server-id=1
#同步用的日志,这里我试过改成带路径的,结果用docker启动后一直显示正在启动,没有启动完成,所以就别改了
log-bin=mysql-bin
#当主库日志有变化时,从节点自动更新
log-slave-updates
#从节点跳过那些日志中有错误的操作
slave-skip-errors=all

2.在master上查看logfile和logpos

然后启动master服务,然后 使用

show master status

可以看到log_file 以及log_pos,这两个是为了在slave上使用的

3.在各个slave上设置主节点

change master to master_host='192.168.127.10',master_port=3307,master_user='root',master_password='root',master_log_file='mysql-bin.000001',master_log_pos=154;

注意logfile和logpos要与刚才在master上看到的相同,否则同步会有问题。

4.在slave上查看是否连接是否成功

如下图所示

show slave status


show variables like "server_id"
查看当前mysql的server-id,注意sql语句是下挂线,conf文件中是减号。

最后

1.做测试的话,就用navicat 在主库中创建一条数据,看从库是否也增加了这条数据就行,反之,在从库创建数据,主库中不会出现 2.哨兵之后再更新

Mysql主从复制,持续更新相关推荐

  1. MySQL核心技术(持续更新)

    MySQL动态扩容缩容 https://blog.csdn.net/xiaowanzi_zj/article/details/118715503 一张表没有主键怎么办 1.如果我们定义了主键,那么In ...

  2. MySQL入门(持续更新)

    文章目录 0.SQL概述总括 1.思维导图 2.入门SQL需要学习以下几个方面 3.SQL使用方式分类 一. 数据库基础概念 1.名词概念 2.数据库分类 3.数据库系统的体系结构(三级模式和两级映像 ...

  3. 书籍 -- 《高性能MySQL》持续更新中(四)

    第五章 创建高性能的索引 此处的知识点需要借助<数据结构与算法>这更有助于理解 索引基础 索引可以包含一个或多个列的值.如果索引包含多个列,那么列的顺序也十分重要,因为MySQL只能高效地 ...

  4. MySQL笔记(持续更新)

    文章目录 一.MySQL 1.简介 2.数据库的概念 ​ 3. DOS指令: 4.数据库的基本操作 4.1.查看数据库: 4.2.删除数据库: 4.3.选择数据库: 4.4.创建数据库 4.5.查看数 ...

  5. 【从入门到精通系列】-- MySQL(持续更新中……)

    系列文章目录 文章目录 系列文章目录 前言 一.初识MySQL 1.1数据库基础 1.1.1 什么是数据库 1.1.2 表 1.1.3 数据类型 1.1.4 主键 1.2 数据库技术构成 1.2.1 ...

  6. Mysql 知识点总结(持续更新)

    挺长一段时间没有动手写博客了,接下来的一段时间将对前段时间学的mysql做一次总结,内容比较多,将持续更新上来,贵在坚持啊~ 关于mysql的,这里不多说,看图说话: 上面的图是最新的统计情况,mys ...

  7. Mysql日常巡检参考(持续更新)

    一.概述   本文旨在整理mysql从场景化运维角度来整理,常用的检查命令和处理方式,以供参考查看,为相关活动提供便利指导. 二.MySQL巡检参考 数据库巡检项目根据负责方可简单分为DBA和RD,D ...

  8. 人生最好的php,mysql,linux,redis,docker等相关技术经典面试题,新手收藏学习,持续更新中。。。

    php面试题 1.写出你能想到的所有HTTP返回状态值,并说明用途(比如:返回404表示找不到页面) # 200:服务器请求成功 # 301:永久重定向,旧网页已被新网页永久替代 # 302:表示临时 ...

  9. mysql参数积累 持续更新。。。

    mysql参数积累 持续更新... 以下是Mysql数据库服务器配置文件my.ini的详细配置.应用场合是InnoDB引擎,2核CPU, 32位SUSE. [client] #password = y ...

  10. mysql查询更新优化_mysql查询优化(持续更新中)

    1.索引不会包含有NULL值的列 (1)   应尽量避免在where子句中对字段进行null值判断,否则将导致引擎放弃使用索引而进行全表扫描 (2)   数据库设计时不要让字段的默认值为null,可以 ...

最新文章

  1. 互联网协议 — LISP 位置/身份分离协议
  2. 20161023 NOIP 模拟赛 T1 解题报告
  3. ML之K-means:基于DIY数据集利用K-means算法聚类(测试9种不同聚类中心的模型性能)
  4. ADAMoracle预言机的发展趋势和特点
  5. Newtonsoft.Json反序列化(Deserialize)出错:Bad JSON escape sequence
  6. magento常用的语句
  7. python 图片拼接成固定行列
  8. Dediprog EM100Pro-G2 CmdLine教程
  9. VMware:未能将管道连接到虚拟机, 所有的管道范例都在使用中
  10. winxp java 控制台_winxp系统设置java环境变量的详细教程
  11. SRv6技术课堂(一):SRv6概述
  12. 计算机导论二版答案,计算机导论二版课后标准标准答案(含简称集锦).doc
  13. 共享打印机显示计算机权限,Win7共享打印机无法访问:您没有权限访问怎么办?
  14. 计算机常用算法程序设计案例教程,计算机常用算法与程序设计案例教程
  15. 英国脱离欧盟Brexit目前票数:脱欧阵营51.4%领先!!!
  16. LocalDateTime返回的时间中带有T
  17. Striped64 api详解
  18. antdv table 的表格列配置描述 columns
  19. 直接最小二乘法拟合椭圆
  20. William Xiong's Blog is starting...

热门文章

  1. input失去焦点验证格式_表单验证之失去焦点校验
  2. Python计算机视觉编程 第一章——基本的图像操作和处理
  3. SpringBoot 集成ES集群CRUD及分页解决方案
  4. 说精神力量的词,愿力很神奇
  5. .net平台和java平台的对比
  6. 药品数据库下载5万条数据,带图片
  7. 【应用】西门子1200PLC 之 自动售货机
  8. 大数据实训笔记4:mapreduce
  9. Active Scheduler of name ‘DefaultQuartzScheduler‘ already registered in Quartz SchedulerRepository.
  10. 2 The Vuri FAQ - Vrui问答