# mysql主从复制-二级主从

> master1和slave1已经处于主从关系, 现在希望加一个slave2作为slave1的从库,并设置延迟复制。 这样做有如下几个好处:

> 1. 不会增加master1服务器压力

> 2. 能保证slave1的及时同步速度

> 3. 保证master1数据误操作时可以从slave2快速回滚

## 创建数据库

``` linux

# 对应master1, 主库

docker run --name mysql1 -d \

-v /Users/chenpeng/docker/mysql1/data:/var/lib/mysql \

-v /Users/chenpeng/docker/mysql1/logs:/var/log/mysql/ \

-v /Users/chenpeng/docker/mysql1/conf:/etc/mysql/conf.d \

-e MYSQL_ROOT_PASSWORD=123456 \

-e TZ=Asia/Shanghai \

-p 3306:3306 \

mysql:5.7.19 \

--character-set-server utf8mb4 --collation-server utf8mb4_general_ci

```

``` linux

# 对应slave1, 一级从库

docker run --name mysql2 -d \

-v /Users/chenpeng/docker/mysql2/data:/var/lib/mysql \

-v /Users/chenpeng/docker/mysql2/logs:/var/log/mysql/ \

-v /Users/chenpeng/docker/mysql2/conf:/etc/mysql/conf.d \

-e MYSQL_ROOT_PASSWORD=123456 \

-e TZ=Asia/Shanghai \

-p 3307:3306 \

mysql:5.7.19 \

--character-set-server utf8mb4 --collation-server utf8mb4_general_ci

```

``` linux

# 对应slave2, 二级从库, 主库是slave1

docker run --name mysql3 -d \

-v /Users/chenpeng/docker/mysql3/data:/var/lib/mysql \

-v /Users/chenpeng/docker/mysql3/logs:/var/log/mysql/ \

-v /Users/chenpeng/docker/mysql3/conf:/etc/mysql/conf.d \

-e MYSQL_ROOT_PASSWORD=123456 \

-e TZ=Asia/Shanghai \

-p 3308:3306 \

mysql:5.7.19 \

--character-set-server utf8mb4 --collation-server utf8mb4_general_ci

```

## 编辑配置文件

``` linux

# 三个my.cnf配置文件基本差不多

[mysqld]

log-bin=mysql-bin

# mysql1[server-id]=1, mysql2[server-id]=2, mysql3[server-id]=3

server-id=1

gtid_mode=ON

enforce-gtid-consistency=ON

slave-skip-errors = 1032,1062

skip_slave_start=1

expire_logs_days=7

# 只有mysql2需要开启

# log_slave_updates=ON

## 配置完成后, 需要重启下mysql服务

```

## 同步账号设置

``` linux

# mysql1执行

grant replication slave on *.* to 'slave2'@'172.17.0.1' identified by '123456';

# mysql2执行

change master to master_host='172.17.0.1', master_user='slave2',master_port=3306,master_password='123456';

start slave;

grant replication slave on *.* to 'slave3'@'172.17.0.1' identified by '123456';

# mysql3执行

change master to master_host='172.17.0.1', master_user='slave3',master_port=3307,master_password='123456';

start slave;

```

## 总结

一个主从同步正常情况下,从库同步数据是不会产生binlog日志,所以没有办法再成为其他从库的主库, 需要在配置文件添加 `log_slave_updates=ON` 来开启binlog日志, 这就是二级复制的关键, 在多级复制下, 也是这样。

mysql 多级主从_mysql主从复制-二级主从相关推荐

  1. 使用Mycat构建MySQL读写分离、主从复制、主从高可用

    数据库读写分离对于大型系统或者访问量很高的互联网应用来说,是必不可少的一个重要功能. 从数据库的角度来说,对于大多数应用来说,从集中到分布,最基本的一个需求不是数据存储的瓶颈,而是在于计算的瓶颈,即S ...

  2. mysql replication 配置_MySQL Replication配置主从的教程

    MySQL主从原理 主(master)在执行sql之后,记录二进制log文件(bin-log) 从(slave)连接主(master),并从主(master)获取binlog,存于本地relay-lo ...

  3. mysql slave修改_MySql主从复制(初学笔记)

    MySQL8 数据库的主从备份 5.5.* 版本 : 单线程 5.7.* 版本: 多线程 大多用的都是基数版本.其中出名的为 5系列的 5.5 版本 和 5.7版本. MySQL主从复制 MySQL数 ...

  4. hibernate mysql 主从_MYSQL主从复制和写分离

    基础篇https://edu.51cto.com/course/19845.html https://edu.51cto.com/course/19845.html https://edu.51cto ...

  5. mysql本身主从_Mysql主从复制

    Mysql环境准备 #下载Mysql wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 如果报错: -bash: ...

  6. mysql replicate-rewrite-db,mysql主从,_mysql 主从复制 replicate-rewrite-db 无效,mysql主从 - phpStudy...

    mysql 主从复制 replicate-rewrite-db 无效 主库配置: log-bin=mysql-bin server-id = 66 从库配置: server-id = 67 repli ...

  7. mysql在同一台机器上实现主从_MySQL 5.7主从搭建(同一台机器)

    主从复制原理:复制是 MySQL 的一项功能,允许服务器将更改从一个实例复制到另一个实例.1)主服务器将所有数据和结构更改记录到二进制日志中.2)从属服务器从主服务器请求该二进制日志并在本地应用其内容 ...

  8. mysql 5.5 主从_Mysql 5.5主从搭建

    领导突然让做主从服务器,mysq让用5.5版本的,以前搭建过5.1,本来感觉很easy,哪知道却有很大区别调试了好长时间,终于弄好了! mysql5.5安装起来也和以前的大不一样,以前的configu ...

  9. mysql二进制文件复制_MySQL 主从复制:基于二进制文件复制配置详解

    ##MySQL-主从复制:基于二进制文件复制详解 ###前言 主从复制是指把一个MySQL的数据库服务器作为主服务器(master),然后把master的数据复制到一个或者多个MySQL数据库服务器作 ...

  10. win7 mysql读写分离_mysql 主从复制 读写分离配置

    口水:第一次写博客,欢迎大家来拍砖. 最近项目中用mysql主从复制主要是为了实现读写分离.数据库备份.故障转移的需要,采用的是一主一从,配置比较简单. 自已在本机做测试 测试环境如下: OS:win ...

最新文章

  1. 用户界面线程AfxBeginThread的使用
  2. windows auzre 笔记-1
  3. php输出查询mysql中文乱码_解决php mysql查询插入中文乱码问题
  4. linux虚拟主机泛解析,Apache虚拟主机的配置和泛域名解析实现代码
  5. PostgreSQL的 create index concurrently
  6. Git 不能只会 pull 和 push,试试这5条提高效率的命令吧!
  7. Hibernate api 之常见的类(配置类,会话工厂类,会话类)
  8. 题目1012:畅通工程(并查集)
  9. SDIO接口WiFi驱动浅析
  10. 自动匹配模板 一分钟搞定财务报表
  11. iPhone和ipad连接【华北理工大学】校园网快捷指令教程
  12. Kylin Error:Cannot start job scheduler due to lack of job lock
  13. Python类:super
  14. LED驱动芯片AiP650
  15. 非核心版本的计算机上_软件测试之兼容性测试(上)
  16. 昨天去做地推,在路上看见了这么繁茂的仙人掌
  17. 力扣378.有序矩阵中第K小的元素
  18. 苹果iOS系统下检查第三方APP是否安装
  19. android 飞机大战详解
  20. python人工智能【隔空手势控制鼠标】“解放双手“

热门文章

  1. 坐标c语言输入数组中,求助 C语言中如何利用二维数组计算多个坐标之间的距离...
  2. 判断一个字符串出现次数最多的字符,并返回这个字符和次数
  3. idea取消大小写自动提示
  4. 【C++】指针的引用及面向对象
  5. devexpress TreeList递归及点击获取数据
  6. 给Chrome和Firefox添加js脚本作为插件的方法
  7. 转自他人——django实例教程
  8. Python标准库11 多进程探索 (multiprocessing包)
  9. 计算机原理考研题库,东北大学计算机组成原理题库(9)
  10. Java web项目的解耦合