广告
返回顶部
首页 > 资讯 > 数据库 >Docker实战之MySQL主从复制
  • 895
分享到

Docker实战之MySQL主从复制

Docker实战之MySQL主从复制 2016-09-20 05:09:33 895人浏览 绘本
摘要

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

Docker实战之MySQL主从复制

前言

曾几何时,看着高大上的架构和各位前辈高超的炫技,有没有怦然心动,也想一窥究竟?每当面试的时候,拿着单应用的架构,吹着分库分表的牛X,有没有心里慌的一批?

其实很多时候,我们所缺少的只是对高大上的技术的演练。没有相关的业务需求,没有集群环境,然后便只是Google几篇博文,看下原理,便算是了解了。然而真的明白了吗?众多的复制粘贴中,那篇文章才对我们有用,哪些又是以讹传讹?

所幸容器技术的快速发展,让各种技术的模拟成为现实。接下来Docker相关的一系列文章,将以实战为主,帮助大家快速搭建测试和演练环境。

Docker文件编排

由于是测试为了演练用,这里用docker-compose进行配置文件的编排,实际的集群环境中并不是这么部署的。

  1. 编排docker-compose-Mysql-cluster.yml,安装master和slave节点
version: '3'
services:
  mysql-master:
    image: mysql:5.7
    container_name: mysql-master
    environment:
      - MYSQL_ROOT_PASSWord=root
    ports:
      - "3307:3306"
    volumes:
      - "./mysql/master/my.cnf:/etc/my.cnf"
      - "./mysql/master/data:/var/lib/mysql"
    links:
      - mysql-slave

  mysql-slave:
    image: mysql:5.7
    container_name: mysql-slave
    environment:
      - MYSQL_ROOT_PASSWORD=root
    ports:
      - "3308:3306"
    volumes:
      - "./mysql/slave/my.cnf:/etc/my.cnf"
      - "./mysql/slave/data:/var/lib/mysql"
  1. 配置master配置文件my.cnf
[mysqld]
# [必须]启用二进制日志
log-bin=mysql-bin 
# [必须]服务器唯一ID,默认是1,一般取IP最后一段  
server-id=1
## 复制过滤:也就是指定哪个数据库不用同步(mysql库一般不同步)
binlog-ignore-db=mysql
  1. 配置slave配置文件my.cnf
[mysqld]
# [必须]服务器唯一ID,默认是1,一般取IP最后一段  
server-id=2
  1. 启动docker-compose,创建docker镜像文件
docker-compose -f docker-compose-mysql-cluster.yml up -d

docker ps查看进程,可以看到2个实例已启动。

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
1f4ad96b4d5e        mysql:5.7           "docker-entrypoint.s…"   48 seconds ago      Up 46 seconds       33060/tcp, 0.0.0.0:3307->3306/tcp   mysql-master
8e2214aacc43        mysql:5.7           "docker-entrypoint.s…"   49 seconds ago      Up 47 seconds       33060/tcp, 0.0.0.0:3308->3306/tcp   mysql-slave

配置主从复制

  1. 配置master

  1. 配置slave

这时候就可以运行一些 SQL 语句来验证同步服务是否正常了。

验证主从复制

  1. master创建db

  1. 查看slave是否同步创建

由结果可知,已完成MySQL主从复制环境的搭建。

读写分离

MySQL主从复制是其自己的功能,实现读写分离就得依靠其他组件了,比如sharding-jdbc。但是sharding-jdbc只是实现读写分离,本身的权限控制还是需要MySQL这边来配置的。

  1. 配置master账户及权限

创建帐号并授予读写权限

CREATE USER 'master'@'%' IDENTIFIED BY 'Password123';
GRANT select,insert,update,delete ON *.* TO 'master'@'%';
flush privileges;

  1. 配置slave账户及权限

创建帐号并授予只读权限

use mysql;
CREATE USER 'slave'@'%' IDENTIFIED BY 'Password123';
GRANT select ON *.* TO 'slave'@'%';
FLUSH PRIVILEGES;

最后

这篇文章以搭建环境为主,后续会继续完善故障转移、分库分表、数据平滑迁移等相关演练。菜鸟博客,不尽完善,希望大家不吝赐教。

公众号 【当我遇上你】

您可能感兴趣的文档:

--结束END--

本文标题: Docker实战之MySQL主从复制

本文链接: https://www.lsjlt.com/news/4689.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Docker实战之MySQL主从复制
    前言 曾几何时,看着高大上的架构和各位前辈高超的炫技,有没有怦然心动,也想一窥究竟?每当面试的时候,拿着单应用的架构,吹着分库分表的牛X,有没有心里慌的一批? 其实很多时候,我们所缺少的只是对高大上的技术的演练。没有相关的业务需求...
    99+
    2016-09-20
    Docker实战之MySQL主从复制
  • Mysql之主从复制
    文章目录 一.Mysql主从复制介绍 1.Mysql主从复制原理2.Mysql的复制类型3.Mysql主从复制的工作过程 二.搭建 Mysql主从复制1.首先关闭防火墙2.Mysql主从服...
    99+
    2023-09-04
    mysql java 数据库
  • Docker搭建Mysql主从复制
    Docker搭建Mysql主从复制 前言 相信我,看完这一篇,mysql主从复制能遇到的错误在我这里都遇到了,docker能遇到的错误在我这里也遇到了,包括centos的错误,看吧,都是成长 do...
    99+
    2023-09-24
    docker mysql 容器 Linux
  • docker下MySQL的主从复制
    MySql的主从复制 sudo docker pull MySQL:5.7 拉取MySQL的镜像文件(版本号为 5.7) sudo docker run -p 3339:3306 --name master -e MYSQL_ROOT_PA...
    99+
    2016-02-20
    docker下MySQL的主从复制
  • MySQL主从复制之realy_log_recovery
          该参数是默认打开的,在数据库启动后立即启动自动relay log恢复。在恢复过程中,创建一个新的relay log,并将IO线程初始化到SQL线程的位置。...
    99+
    2022-10-18
  • 实战演示MySQL 5.7.17实现主从复制
    下文给大家带来有关实战演示MySQL 5.7.17实现主从复制内容,相信大家一定看过类似的文章。我们给大家带来的有何不同呢?一起来看看正文部分吧,相信看完实战演示MySQL 5.7.17实现主从复制你一定会...
    99+
    2022-10-18
  • MySQL实战之主从数据同步机制
    主从同步的重要性: 解决数据可靠性的问题需要用到主从同步;解决 MySQL 服务高可用要用到主从同步;应对高并发的时候,还是要用到主从同步。 一、MySQL 主从同步流程 当客户端提交一个事务到 MySQL 的集群,直到客户端收到集群返回...
    99+
    2023-09-08
    mysql 数据库 java
  • Mysql主从复制之安装
    此次搭的环境是Redhat7+Mysql8.0(搭建单机步骤翻前面的博文) 主从配置的简要步骤 Master 上的配置 安装数据库; 修改数据库配置文件, 指明 server_id, 开启二进制日志(log-bin); 启动数据库, 查...
    99+
    2016-11-15
    Mysql主从复制之安装
  • MySQL主从之延时复制
    目录一、延时复制1.配置延时复制(已经有主从)2.配置延时复制(没有主从)3.关闭延时从库实例 一、延时复制 延时从库只做备份,不提供任何对外服务,正常情况下我们是不会有刻意延迟从库的需求的,因为正常的线上业务自然是延迟越低越好。 但是针对...
    99+
    2014-07-14
    MySQL主从之延时复制 数据库入门 数据库基础教程 数据库 mysql
  • MySQL入门--MySQL复制技术之主从从级联复制
    MySQL复制技术之主从从级联复制 主数据库:192.168.12.181 上的mysqld1 中继slave:192.168.12.182上的mysqld1 级联slave:192....
    99+
    2022-10-18
  • MySQL入门--MySQL复制技术之主从复制
    MySQL复制技术:主从 在MySQL里面建立最基本的复制,可以总结为以下三个步骤: 1. 配置一个服务器作为Master; 2. 配置一个服务器作为Slave; 3. 将Sla...
    99+
    2022-10-18
  • docker实现mysql主从复制的示例代码
    目录一、概述1、原理2、实现三、创建Slave实例四、主从配置总结:五、参考一、概述 1、原理 master服务器将数据的改变记录二进制binlog日志,当master上的...
    99+
    2022-11-12
  • mysql实现主从复制
    Mysql的 Replication 是一个异步的复制过程(mysql5.1.7以上版本分为异步复制和半同步两种模式),从一个 Mysql instace(我们称之为 Master)复制到另一个 ...
    99+
    2022-10-18
  • MySQL主从复制之延迟型数据复制
       让MySQL拓扑中的从节点延迟适当的时间,可以帮助避免在主节点上发生的灾难性的错误。    MASTER_DELAY这个属性指定SQL_THREAD会在从节点...
    99+
    2022-10-18
  • mysql主从复制
    一.主从复制简介 2015年5月28日11时,12小时后恢复,损失:平均每小时106.48W$ 1)高可用 2)辅助备份 3)分担负载 复制是 MySQL 的一项功能,允许服务器将更改从一个实例复制到另一个实例。 1)主服务器将所有数据和...
    99+
    2019-04-07
    mysql主从复制
  • 【MySQL】主从复制
    纸上得来终觉浅,绝知此事要躬行。 概述 复制是指将主数据库的DDL 和 DML 操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。 MySQL支持一台主库同时向多...
    99+
    2015-07-01
    【MySQL】主从复制
  • mysql 主从复制
    1, 准备二台机器或者服务器 ,保持mysq 版本一样或者版本相差不大; 主机:114.215.198.39 从机:116.62.234.228 2    新建一个数据库 我的数据库是hlqzxm; 进入主机的mysql 配置文件中修改配置...
    99+
    2021-10-15
    mysql 主从复制 数据库入门 数据库基础教程 数据库 mysql
  • mysql主从复制
    两台mysql版本号为5.7以上   主库配置文件设置(注意设置在[mysqld]项中) 主库的ip地址为:192.168.1.1 server-id=1 #唯一id,主库设置1 log-bin=mysql-bin #日志记录...
    99+
    2018-10-04
    mysql主从复制 数据库入门 数据库基础教程 数据库 mysql
  • 主从复制之binlog_format
      binlog_format主要有三种格式:statement、row、mixed binlog_format=statement  master写入执行的SQL语句到bin...
    99+
    2022-10-18
  • MySQL主从复制之多主多从部署流程—2023.04
    文章目录 一、多主多从实现架构图二、准备工作三、MySQL多主多从搭建流程1、修改2个主节点配置文件2、修改2个从节点配置文件3、2个主节点相互复制4、2个从节点分别复制主节点5、测试记录: ...
    99+
    2023-09-23
    mysql 数据库 java 云原生
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作