mysql 多级主从_mysql主从复制-二级主从
# 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主从复制-二级主从相关推荐
- 使用Mycat构建MySQL读写分离、主从复制、主从高可用
数据库读写分离对于大型系统或者访问量很高的互联网应用来说,是必不可少的一个重要功能. 从数据库的角度来说,对于大多数应用来说,从集中到分布,最基本的一个需求不是数据存储的瓶颈,而是在于计算的瓶颈,即S ...
- mysql replication 配置_MySQL Replication配置主从的教程
MySQL主从原理 主(master)在执行sql之后,记录二进制log文件(bin-log) 从(slave)连接主(master),并从主(master)获取binlog,存于本地relay-lo ...
- mysql slave修改_MySql主从复制(初学笔记)
MySQL8 数据库的主从备份 5.5.* 版本 : 单线程 5.7.* 版本: 多线程 大多用的都是基数版本.其中出名的为 5系列的 5.5 版本 和 5.7版本. MySQL主从复制 MySQL数 ...
- hibernate mysql 主从_MYSQL主从复制和写分离
基础篇https://edu.51cto.com/course/19845.html https://edu.51cto.com/course/19845.html https://edu.51cto ...
- mysql本身主从_Mysql主从复制
Mysql环境准备 #下载Mysql wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 如果报错: -bash: ...
- 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 ...
- mysql在同一台机器上实现主从_MySQL 5.7主从搭建(同一台机器)
主从复制原理:复制是 MySQL 的一项功能,允许服务器将更改从一个实例复制到另一个实例.1)主服务器将所有数据和结构更改记录到二进制日志中.2)从属服务器从主服务器请求该二进制日志并在本地应用其内容 ...
- mysql 5.5 主从_Mysql 5.5主从搭建
领导突然让做主从服务器,mysq让用5.5版本的,以前搭建过5.1,本来感觉很easy,哪知道却有很大区别调试了好长时间,终于弄好了! mysql5.5安装起来也和以前的大不一样,以前的configu ...
- mysql二进制文件复制_MySQL 主从复制:基于二进制文件复制配置详解
##MySQL-主从复制:基于二进制文件复制详解 ###前言 主从复制是指把一个MySQL的数据库服务器作为主服务器(master),然后把master的数据复制到一个或者多个MySQL数据库服务器作 ...
- win7 mysql读写分离_mysql 主从复制 读写分离配置
口水:第一次写博客,欢迎大家来拍砖. 最近项目中用mysql主从复制主要是为了实现读写分离.数据库备份.故障转移的需要,采用的是一主一从,配置比较简单. 自已在本机做测试 测试环境如下: OS:win ...
最新文章
- 用户界面线程AfxBeginThread的使用
- windows auzre 笔记-1
- php输出查询mysql中文乱码_解决php mysql查询插入中文乱码问题
- linux虚拟主机泛解析,Apache虚拟主机的配置和泛域名解析实现代码
- PostgreSQL的 create index concurrently
- Git 不能只会 pull 和 push,试试这5条提高效率的命令吧!
- Hibernate api 之常见的类(配置类,会话工厂类,会话类)
- 题目1012:畅通工程(并查集)
- SDIO接口WiFi驱动浅析
- 自动匹配模板 一分钟搞定财务报表
- iPhone和ipad连接【华北理工大学】校园网快捷指令教程
- Kylin Error:Cannot start job scheduler due to lack of job lock
- Python类:super
- LED驱动芯片AiP650
- 非核心版本的计算机上_软件测试之兼容性测试(上)
- 昨天去做地推,在路上看见了这么繁茂的仙人掌
- 力扣378.有序矩阵中第K小的元素
- 苹果iOS系统下检查第三方APP是否安装
- android 飞机大战详解
- python人工智能【隔空手势控制鼠标】“解放双手“
热门文章
- 坐标c语言输入数组中,求助 C语言中如何利用二维数组计算多个坐标之间的距离...
- 判断一个字符串出现次数最多的字符,并返回这个字符和次数
- idea取消大小写自动提示
- 【C++】指针的引用及面向对象
- devexpress TreeList递归及点击获取数据
- 给Chrome和Firefox添加js脚本作为插件的方法
- 转自他人——django实例教程
- Python标准库11 多进程探索 (multiprocessing包)
- 计算机原理考研题库,东北大学计算机组成原理题库(9)
- Java web项目的解耦合