mysql架构解读~mysql的多源复制
一 场景需求
多源复制版本 5.7,目标主机5.6.21
4个DB机器的某些数据库需要数据汇总进行连表查询
二 进行搭建
1 导出相应的目的库
mysqldump -uuser -ppassword --master-data=2 --single-transaction --databases --add-drop-database dbname >dbname.sql
2 将相应的目的库导入到多源复制机器上
注意 5.6版本 需要先删除第一行,否则无法导入.
mysql -uuser -ppassword < dbname.sql (并行导入,加快速度)
3 设置相应的忽略库(非常重要)
replicate-wild-ignore-table=test.%
replicate-wild-ignore-table=mysql.%
replicate-wild-ignore-table=dbname.%
4 重启多源复制库
5 过滤 postion和filename
cat dbname.sql|grep CHANGE
6 开启通道,进行change
CHANGE MASTER TO MASTER_HOST='',MASTER_USER='', MASTER_PASSWORD='',MASTER_LOG_FILE='',MASTER_LOG_POS=FOR CHANNEL 'master-01';
start slave for CHANNEL 'master-01'
CHANGE MASTER TO MASTER_HOST='',MASTER_USER='', MASTER_PASSWORD='',MASTER_LOG_FILE='',MASTER_LOG_POS= FOR CHANNEL 'master-02';
start slave for CHANNEL 'master-02'
7 show slave status进行观察
8 遇到过的问题
场景1 架构场景 MHA 一主两从->多源复制
问题描述 多源复制连接的是主,由于主挂掉导致,主从切换。多源复制出现问题
解决方案 多源复制连接的主已挂掉,所以需要重新change
MHA切换失败的情况
1 由于新主肯定是重新生成binlog,定位新主的binlog
2 分析新主binlog的具体sql语句,在多源DB上查找,然后确定at点,进行change
MHA切换成功的情况
1 参考 mysql级联复制转变为同级复制即可
场景2 由于pt校验主从数据一致性导致的多源DB出现错误
问题描述 PT校验会在指定库进行创建表和相应的DML操作,多源DB忽略了test库,导致出错
解决方案 跳过事件的方式不可行,因为很多,所以根据最近的备份进行恢复。
总结 对于PT校验一定要注意到多源DB所忽略库的情况,不要指定忽略的库
9 关于 多源复制同步多个主 IO追不上的情况,暂时没有遇到(其实建议减少同步DB的数量,并且源主最好对于目标DB不要有太高的TPS
10 查看复制状态
show slave status for channel ''
这就是我对于多源复制的理解
mysql架构解读~mysql的多源复制的更多相关文章
- MySQL 5.7.9的多源复制
什么是多源复制? 首先,我们需要清楚 multi-master 与multi-source 复制不是一样的. Multi-Master 复制通常是环形复制,你可以在任意主机上将数据复制给其他主机. M ...
- MySql(十六):MySql架构设计——MySQL Cluster
前言: MySQL Cluster 是一个基于 NDB Cluster 存储引擎的完整的分布式数据库系统.不仅仅具有高可用性,而且可以自动切分数据,冗余数据等高级功能.和 Oracle Real Cl ...
- MySQL架构和MySQL索引
1. MySQL架构 1.1 逻辑架构图 1.1.1 Connection Pool: 连接池 * 管理缓冲用户连接,线程处理等需要缓存的需求. * 负责监听对 MySQL Se ...
- 《高性能Mysql》解读---Mysql的事务和多版本并发
1.base:ACID属性,并发控制 2.MySql事务的隔离级别有哪些,含义是什么? 3.锁知多少,读锁,写锁,排他锁,共享锁,间隙锁,乐观锁,悲观锁. 4.Mysql的事务与锁有什么关联?MySq ...
- mysql 5.7多源复制(用于生产库多主库合并到一个查询从库)
目前我们使用的是主从+分库分表的系统架构,主库有N个分库,从库为多个slave做负载均衡,所以数据库端的架构是下面这样的: 因为差不多有一年半没有专门搞技术为主了,顺带回顾下. 这就涉及到多个主库数据 ...
- MySQL多源复制(八)
一.什么是多源复制 MySQL 5.7发布后,在复制方面有了很大的改进和提升.比如开始支持多源复制(multi-source)以及真正的支持多线程复制了.多源复制可以使用基于二进制日志的复制或者基于事 ...
- mysql5.7 安装和多源复制实践
MySQL 5.7发布后,在复制方面有了很大的改进和提升.比如开始支持多源复制(multi-source)以及真正的支持多线程复制了.多源复制可以使用基于二进制日子的复制或者基于事务的复制.下面我们说 ...
- MySQL系列详解十:MySQL多源复制演示-技术流ken
前言 多源复制即多主一从结构,多个主服务器端的数据都会同步到后端一个从服务器上面.至于为什么要做多源复制下面的总结很到位. 1.灾备作用:将各个库汇总在一起,就算是其他库都挂了(整个机房都无法连接了) ...
- MySQL 5.7的多源复制
MySQL 5.7已经开始支持了多源复制,相信小伙们都很激动,MySQL 5.7之前只能实现一主一从.一主多从或者多主多从的复制,如果想实现多主一从的复制,只好使用MariaDB,但是MariaDB又 ...
随机推荐
- 51nod 1092(lcs)回文字符串
题目:给你一个字符串,问添加最少的字符数目,使之成为回文串 解题思路:将字符串倒置,求出字符串和倒置串的最长公共子序列,字符串的长度减去lcs的长度就是了.. 代码:#include<iostr ...
- Web项目替换jar包中的文件的方法
经常遇到这样的问题,需要修改jar包中的方法.应该如何做? 1.有些很人性化的框架jar包,比如SpringSecurity,可以修改配置文件指定一个新建的类,让类实现Jar包中的对应的接口就好了. ...
- java监控工具VisualVM
java监控工具VisualVM https://visualvm.github.io/ https://visualvm.github.io/documentation.html https://h ...
- emwin 之消息 WM_INIT_DIALOG
@2018-08-09 小记 消息 WM_INIT_DIALOG 在创建窗口时首先发送且只在创建窗口时发送即只发送这一次
- Shell基础知识(四)
字符串详解 字符串可以由 单引号/双引号/无引号 包围.如下所示 >> str1=hello str2="hello" str3='hello' << 三种 ...
- JDK源码分析(3)HashMap
JDK版本 HashMap简介 HashMap基于哈希表的 Map 接口的实现.此实现提供所有可选的映射操作,并允许使用 null 值和 null 键.(除了不同步和允许使用 null 之外,Hash ...
- 省选前的th题
沙茶博主终于整完了知识点并学完了早该在NOIP之前学的知识们 于是终于开始见题了,之前那个奇怪的题单的结果就是这个了 题目按沙茶博主的做题顺序排序 个人感觉(暂时)意义不大的已被自动忽略 洛谷 491 ...
- poj 1064(二分答案)
传送门:Problem 1064 https://www.cnblogs.com/violet-acmer/p/9793209.html 题意: 有N条绳子,长度分别为 length[1,2,3,.. ...
- WebClient 上传文件
iis6.0 条件:必须启用WEBDAV 需要将要上传到的目录权限加上匿名登陆,而且必须在IIS上创建虚拟目录,将文件上传到虚拟目录才能成功,否则就会出现403禁止错误下面放上我测试好的代码. // ...
- python基础练习题30道
1.执行python脚本的两种方式 答:1>可以在python /home/xxxx.py 2>cd /home ./xxxx.py 因为py脚本里面指定了python解释器的位置 ...