农历(五月十五)
关于
友情链接
Toggle navigation
Harries Blog™
追心中的海,逐世界的梦
首页
编程技术
Java
软件架构
移动开发
后端
前端
大数据
数据库
算法
人工智能
测试
代码管理
IT教程
springboot-demo
Java入门教程
bootstrap3
CSS
Apache基础教程
php
ionic 教程
Python
mysql教程
eclipse
Ubuntu VPS系统配置
AngularJS 教程
MongoDB教程
Struts2教程
Redis教程
springcloud-demo
Spring教程
Git教程
Jenkins进阶系列
openfire参考指南
Java设计模式
HBase教程
java-demo
Maven教程
hibernate教程
Docker 教程
memcached教程
Quartz指南
Hive教程
ANTLR教程
SpringCloud
Ant教程
java实例教程
Hazelcast教程
XStream教程
Elastic-Job-Lite
深入浅出MyBatis
ibaties教程
SVN教程
rabittmq教程
Hadoop教程
solr教程
WebService CXF学习
JPA教程
ActiveMQ中文指南
Java内存模型
dubbo教程
python3-demo
Linux入门视频教程
生活感悟
默认分类
博主自留地
一周一本书
一月一个人
互联网
互联网.出海
互联网.IPO
运维
Linux
docker
nginx
windows
操作系统
监控软件
vmware
虚拟化
tomcat
自动化
留言板
转载
发表于 2016年01月12日
浏览 (
814
)
评论 (0)
有生之年系列----MySQL5.7之多源复制&Nginx中间件(上)
这是有生之年系列的填坑_(:з」∠)_
Nginx的TCP反向代理的联动帖:http://blog.itpub.net/29510932/viewspace-1842929/
-------------------------------------------------------------------------------------正文------------------------------------------------------------------------------------
背景:
懒癌晚期,整理好发上来;
环境:
MySQL-5.7.9
x 4,
Nging-1.9.7
x 1
,五台虚拟机
总体思路:
四个MySQL实例组成双主双从的多源复制结构,Nginx放在前端,对应用层屏蔽DB层细节
配置简记:
MySQL的双主配置和普通的双主配置没什么区别,
并且在这次搭建中打开了GTID
;
从库开启多源复制需要设置
--master-info-repository=TABLE --relay-log-info-repository=TABLE
从库开启多源复制用的channel,注意一下语法就好;
Nginx的TCP转发功能参考另外一篇博客,这次试验的简单配置如截图
验证:
先是看看复制的情况,建立一个测试表
随便插入几条数据,看看从库的status
可以看到从库的status里面有两个主库的GTID信息
提问:
为什么指向67的channel会有两个主库的GTID信息?
解惑:看一下67的relay-log的信息
看到relay-log同时包含了两个主库的事务信息,
原因在于两个主库同时开启了log-
slave-
updates,
所以在relay-log里面包含了两个主库的事务;
追问:那么channel_67的relay-log包含两个主库的事务,
是不是这个67主库的
channel在复现事务时,
过滤掉了65主库的日志呢
?
解惑:关掉channel_67的SQL_THREAD之后,在两个主库上分别执行一下语句,再看看从库的status
发现停掉channel_67的SQL_THREAD之后,67的事务依然被更新了,从对比上来看,是channel_65的SQL_THREAD更新的,
那么同时停掉65和67的SQL_THREAD,看看效果;
基本可以得出一个结论:
channel的SQL_THREAD并没有过滤掉非master的日志,而是忠实的复现了每一个记录在relay-log里面的事务;
追问:既然两个channel都会执行
relay-log的所有事务,那么为什么没有报错?
解惑/
推测
:
SQL_THREAD在复现relay-log的时候,会检查一下
已经执行过的事务,如果是重复的,则会跳过;
提问:在双主的MySQL上
关闭log-
slave-
updates
,从库的同步是否会有问题/不同?
解惑:动手测试,关闭
slave-log-update之后再观察从库的relay-log;
可以看到relay-log里面没有主库65的事务信息了,那么再看一下slave status
可以发现,各个channel不再收到另外的主库的日志,不过
已执行事务的GTID信息还是有同步的
;
得出的结论:
没有出现问题,且各个channel都单独处理各自主库的事务信息,为了数据流向的
清晰和明确,在双主配置中关闭slave-log-update比较好;
延伸提问:假设channel_67的SQL_THREAD停止一段时间,使得67的insert语句没有复现(假设插入值为18
),而65的insert全部复现了(插入值为19和21
),
从库上的
AUTO_INCREMENT计数器是否会出错?
准备完环境以后,处于缺少18的状态,效果
如下图
relay-log的信息中包含了缺少的事务;
从结果来看,一切ok
试验还在进行中, Nginx的部分留给下半部分,先欠着..._(:з」∠)_...
-------------------------------------------------------------------------------------待续------------------------------------------------------------------------------------
PS
:在5.6.x版本,开启GTID必须要开启log-
slave-
updates,
通过查阅资料,推断为auto_position所需要,所以需要开启这个选项,不过在5.7.9已经不是必要条件了。
正文到此结束
赞
0
赏
分享
本文标签:
TCP
测试
时间
ACE
Nginx
数据
博客
update
配置
http
mysql
sql
src
MySQL5
db
同步
实例
tab
版权声明:
本文为互联网转载文章,出处已在文章中说明(部分除外)。如果侵权,请
联系本站长
删除,谢谢。
本文海报:
生成海报一
生成海报二
上一篇
【Solaris】Solaris10操作系统 SMF服务管理
下一篇
2016九大前端必备动画库
热门推荐
openfire数据库安装指南
浏览(15,320)
评论(0)
Caffe 深度学习框架上手教程
浏览(11,501)
评论(0)
ReactiveCocoa入门教程:第一部分
浏览(12,301)
评论(0)
开源HIDS-OSSEC使用实例:监测CC攻击
浏览(12,199)
评论(0)
Decorators in ES7
浏览(16,850)
评论(4)
用Electron(Atom编辑器的兄弟项目)开发桌面应用
浏览(29,782)
评论(0)
Windows下JetBrains CLion中文输出乱码的解决方法
浏览(13,241)
评论(1)
同步-@synchronized, NSLock, pthread, OSSpinLock性能比较
浏览(12,139)
评论(0)
【开班了】JAVA培训班正式招生
浏览(8,317)
评论(12)
Seaweedfs之Volume读请求重定向
浏览(26,473)
评论(3)
相关文章
从零单排 Java Concurrency, SkipList&ConcurrnetSkipListMap
Hacking the D-Link DIR-890L
靜態分析詐欺術: Windows x86下IDA Pro混淆技巧
Scala模式匹配的亮点——Martin Odersky访谈(四)
[iOS] 通过 SpriteKit 内置工具粒子发射器实现酷炫的可定制装载动画
数据库读写分离与事务纠缠的那点坑
Transaction 在 Controller 层的探索
【struts2 命令/代码执行漏洞分析系列】S2-003和S3-005
Java线程池总结和使用
BeeCP-Starter 1.3.3 发布
说给你听
本文目录
随机标签
spring集成
Indie hackers
GMT
node多版本
get
谦虚
trigger
Security
定时任务
ebay
final
ldap
歌词网
中国
telnet
Microsoft Visio 2013
Jet engine
vuepress-theme-hope
团队内讧
findbug
cacerts
Gemini
Snowflake算法
Actuator
Deep Learning
QQ企业邮箱
tab
修改密码
理财
Roster
流式响应
Times
Microsoft Project 2013
schema.xml
卫生
cookies
PHP
reflect
数据分析
mongo-shake
婴儿装
系统设置
Connection
软件
投资
Roster
off-heap
跨域通信
文章底部
烧烤
接口安全
书籍教程
springboot-demo
Java入门教程
bootstrap3
CSS
Apache基础教程
php
ionic 教程
Python
mysql教程
eclipse
Ubuntu VPS系统配置
AngularJS 教程
MongoDB教程
Struts2教程
Redis教程
springcloud-demo
Spring教程
Git教程
Jenkins进阶系列
openfire参考指南
Java设计模式
HBase教程
java-demo
Maven教程
hibernate教程
Docker 教程
memcached教程
Quartz指南
Hive教程
ANTLR教程
SpringCloud
Ant教程
java实例教程
Hazelcast教程
XStream教程
Elastic-Job-Lite
深入浅出MyBatis
ibaties教程
SVN教程
rabittmq教程
Hadoop教程
solr教程
WebService CXF学习
JPA教程
ActiveMQ中文指南
Java内存模型
dubbo教程
python3-demo
Linux入门视频教程
近期评论
admin
已加上
admin
大佬,你网站有一段时间打不开,我还以为你不做了呢
灰常记忆
??? 我的链接居然被你干掉了?
oliver
666 666
666
666
admin
文章和留言都翻到11页了 没有OOM
admin
我试一下
匿名
朋友,翻页到11页,及以后,会出现OOM,无法访问
可以
搞个gitee的项目
随机文章
站长推荐
近期文章
1
WPF自定义控件与样式(1)-矢量字体图标(iconfont)
2
专访ThoughtWorks傅若愚:Swift足够成熟了吗?
3
phoneGap入门实战
4
IBatis.net在asp.net MVC下的使用
5
JavaScript与PHP中正则
6
OWASP移动安全测试指南抢先看:证书锁定绕过
7
事件还原:一封QQ恶意邮件,导致Apple ID密码丢失
8
七种方式令Wi-Fi成为黑客攻击受害者的强大凶器
9
实例分析JVM安全体系:双亲委派、命名空间、保护域、策略
10
智能设备Wi-Fi快速配置类协议安全
1
VPS 自我监控
2
springboot接入多个ES启动时候自检报错
3
配置虚拟站点
4
openfire协议支持指南
5
修改上传文件权限
6
OpenVZ VPS 额外支持
7
2015年北京下第一场雪留念
8
openfire定制指南
9
mysql存储过程实例一:游标的使用
10
Linux删除或者新增SWAP分区
1
Augment Agent:自动生成代码的未来
2
使用 acme.sh 自动更新 SSL 证书的指南
3
使用Cloudflare加速网站的具体操作步骤
4
如何开通google Free Tier长期免费云服务器(1C/1G)
5
如何获取oracle cloud永久免费的vps(4C/24G)?
6
dify开启多租户模式
7
Dify 服务器部署指南
8
Spring Boot对接twilio发送邮件信息
9
Spring Boot中对接Twilio以实现发送验证码和验证短信码
10
如何利用Twilio Verify 发送验证码短信?
网站信息
文章总数:82,765 篇
文件总数:284,406 个
标签总数:2,442 个
分类总数:85 个
留言数量:2,563 条
在线人数:668 人
运行天数:4,608天
最后更新:2025年06月09日23点
×
输入密码查看文章详情
×
搜索文章
搜索
热门搜索:
Java
Springboot
Linux
Maven
Bootstrap
阿里云
×
评论信息框
可以通过QQ号实时获取昵称和头像
QQ
昵称
邮箱
网址
提交评论
×
山无棱江水为竭,冬雷震震夏雨雪,才敢请君舍
支付宝
微信
转账时请备注“
博客赞助
”
Loading...