农历(十月廿二)
关于
友情链接
Toggle navigation
Harries Blog™
追心中的海,逐世界的梦
首页
编程技术
Java
软件架构
移动开发
后端
前端
大数据
数据库
算法
人工智能
测试
代码管理
IT教程
springboot-demo
Java入门教程
bootstrap3
CSS
Apache基础教程
php
ionic 教程
Python
mysql教程
eclipse
Ubuntu VPS系统配置
AngularJS 教程
MongoDB教程
Struts2教程
Redis教程
Spring教程
Git教程
Jenkins进阶系列
openfire参考指南
Java设计模式
HBase教程
Maven教程
hibernate教程
Docker 教程
memcached教程
Quartz指南
Hive教程
Ant教程
ANTLR教程
SpringCloud
java实例教程
springcloud-demo
XStream教程
Hazelcast教程
Elastic-Job-Lite
深入浅出MyBatis
SVN教程
ibaties教程
rabittmq教程
solr教程
Hadoop教程
WebService CXF学习
JPA教程
ActiveMQ中文指南
java-demo
Java内存模型
dubbo教程
python3-demo
Linux入门视频教程
生活感悟
默认分类
博主自留地
一周一本书
一月一个人
互联网
互联网.出海
互联网.IPO
运维
Linux
docker
nginx
windows
监控软件
操作系统
tomcat
虚拟化
vmware
自动化
留言板
转载
发表于 2016年01月12日
浏览 (
675
)
评论 (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
赏
分享
本文标签:
MySQL5
同步
db
实例
tab
TCP
测试
时间
ACE
Nginx
数据
博客
update
配置
http
mysql
src
sql
版权声明:
本文为互联网转载文章,出处已在文章中说明(部分除外)。如果侵权,请
联系本站长
删除,谢谢。
本文海报:
生成海报一
生成海报二
上一篇
【Solaris】Solaris10操作系统 SMF服务管理
下一篇
2016九大前端必备动画库
热门推荐
openfire数据库安装指南
浏览(13,741)
评论(0)
Caffe 深度学习框架上手教程
浏览(10,454)
评论(0)
ReactiveCocoa入门教程:第一部分
浏览(11,286)
评论(0)
开源HIDS-OSSEC使用实例:监测CC攻击
浏览(11,194)
评论(0)
Decorators in ES7
浏览(15,737)
评论(4)
用Electron(Atom编辑器的兄弟项目)开发桌面应用
浏览(28,761)
评论(0)
Windows下JetBrains CLion中文输出乱码的解决方法
浏览(12,214)
评论(1)
同步-@synchronized, NSLock, pthread, OSSpinLock性能比较
浏览(11,176)
评论(0)
Seaweedfs之Volume读请求重定向
浏览(25,454)
评论(3)
HTML、CSS及JavaScript : 有Promise,不会搞大肚子
浏览(13,314)
评论(0)
相关文章
[.net 面向对象编程基础] (20) LINQ使用
Retrofit 2.0:有史以来最大的改进
移动端适配方案(上)
OSS无缝数据迁移方案
ImageJ的插件开发
使用Maven配置Spring
『后台公论』卷首:何谓后台?
监控Spring Boot中的Tomcat性能数据
mybatis是怎样工作的
《重构:数字化转型的逻辑》读书笔记
说给你听
本文目录
随机标签
专心
ip
webpack
NSA
SeaTunnel
maven构建
理财
算法
uniapp
网络推广
图片
amqp
entitytransactioninstance
mysql
王氏
代码注释
teamAgent
Xmx
constant
confirm
新冠病毒
BaseResultMap
技术圈
Namenode
cookies
探针
API
OpenSSL3.0
executor
depends_on
input file
购票攻略
写诗
进度条
BSON
CocoaPods
命令行
公寓
重复记录
Region
Centos6
动态SQL
Calendars
Watcher
贷款
QQ企业邮箱
ibdata1
schema
常见问答
压缩
Android中文API
书籍教程
springboot-demo
Java入门教程
bootstrap3
CSS
Apache基础教程
php
ionic 教程
Python
mysql教程
eclipse
Ubuntu VPS系统配置
AngularJS 教程
MongoDB教程
Struts2教程
Redis教程
Spring教程
Git教程
Jenkins进阶系列
openfire参考指南
Java设计模式
HBase教程
Maven教程
hibernate教程
Docker 教程
memcached教程
Quartz指南
Hive教程
Ant教程
ANTLR教程
SpringCloud
java实例教程
springcloud-demo
XStream教程
Hazelcast教程
Elastic-Job-Lite
深入浅出MyBatis
SVN教程
ibaties教程
rabittmq教程
solr教程
Hadoop教程
WebService CXF学习
JPA教程
ActiveMQ中文指南
java-demo
Java内存模型
dubbo教程
python3-demo
Linux入门视频教程
近期评论
admin
文章和留言都翻到11页了 没有OOM
admin
我试一下
匿名
朋友,翻页到11页,及以后,会出现OOM,无法访问
可以
搞个gitee的项目
匿名
666
admin
版本号是多少,你可以下载哪个代码仓库,jdk选1.8 直接跑就行
极客青年
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'demo.et.mysql.MysqlTests': Unsatisfied dependency expressed through field 'userMapper'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'demo.et.mysql.mapper.UserMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)} at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:643) at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:130) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1422) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireBeanProperties(AbstractAutowireCapableBeanFactory.java:393) at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:119) at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:83) at org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener.prepareTestInstance(SpringBootDependencyInjectionTestExecutionListener.java:43) at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:244) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:227) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:246) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55)Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'demo.et.mysql.mapper.UserMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)} at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1695) at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1253) at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1207) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:640) ... 30 more
极客青年
原封不动的代码报错如下:
极客青年
一股清流,敬佩
随机文章
站长推荐
近期文章
1
使用Kubernetes来管理Docker扩展
2
编写Linux内核模块——第一部分:前言
3
Angular 2:“未来触手可及”
4
Samsung SAMI——针对物联网的数据驱动开发平台
5
AWS Mobile Hub旨在简化Android与iOS应用中AWS的使用
6
剑桥大学研究人员称,Android的安全性堪忧
7
Birdge.NET:将C#代码转换为JavaScript
8
AMP HTML助力移动Web提速
9
使用Hummingbird提升Rackspace Cloud Files的性能
10
雅虎如何在Hadoop集群上实现大规模分布式深度学习
1
VPS 自我监控
2
springboot接入多个ES启动时候自检报错
3
配置虚拟站点
4
openfire协议支持指南
5
修改上传文件权限
6
OpenVZ VPS 额外支持
7
2015年北京下第一场雪留念
8
openfire定制指南
9
mysql存储过程实例一:游标的使用
10
Linux删除或者新增SWAP分区
1
Spring Cloud Consul实现选举机制
2
Spring Boot集成ShedLock实现分布式定时任务
3
利用oss进行数据库和网站图片备份
4
Spring Cloud Stream实现数据流处理
5
Python3访问MySQL数据库快速入门Demo
6
Github开源项目作者可以免费申请 JetBrains 全家桶
7
Spring Cloud Vault快速入门Demo
8
Spring Cloud Gateway快速入门Demo
9
Spring Cloud Contract快速入门Demo
10
Spring Cloud Consul快速入门Demo
网站信息
文章总数:82,714 篇
文件总数:284,287 个
标签总数:2,393 个
分类总数:85 个
留言数量:2,560 条
在线人数:693 人
运行天数:4,409天
最后更新:2024年11月22日01点
×
输入密码查看文章详情
×
搜索文章
搜索
热门搜索:
Java
Springboot
Linux
Maven
Bootstrap
阿里云
×
评论信息框
可以通过QQ号实时获取昵称和头像
QQ
昵称
邮箱
网址
提交评论
×
山无棱江水为竭,冬雷震震夏雨雪,才敢请君舍
支付宝
微信
转账时请备注“
博客赞助
”
Loading...