栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Mycat配置双主双从以及读写分离高可用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Mycat配置双主双从以及读写分离高可用

1、修改mycat的schema.xml文件




	
	
	
	
		select user()
		
		
		   
			
		
		
		
		   
			
		
	

balance="1":

        全部的readHost与stand by writeHost参与select语句的负载均衡。

writeType="0":

        所有写操作发送到配置的第一个writeHost,第一个挂了切到还生存的第二个

writeType="1",

        所有写操作都随机的发送到配置的 writeHost,1.5 以后废弃不推荐

writeHost,

        重新启动后以切换后的为准,切换记录在配置文件中:dnindex.properties 。

switchType="1":

 1 默认值,自动切换。 -1 表示不自动切换 2 基于 MySQL 主从同步的状态决定是否切换。

注意:上面数据库的用户要提前建好

2、启动 Mycat验证读写分离
1、先启动mycat

2、首先创建一张临时表test

在写主机Master1数据库表mytbl中插入带系统变量数据,造成主从数据不一致
   INSERT INTO mytbl VALUES(1,@@hostname);

查询数据:

 

 由上面的查询结果可以发现出现了3个不同的name,我们看一下分别属于哪个数据库节点:

Master1节点:

        

Master2节点:

         

Slave1节点:

         

Slave2节点:

         

可以发现出除了Master2其他的都可以查询出来,说明现在两个主节点Master2是真正的主机,Master1是备机,Master1、Master2 互做备机,负责写的主机宕机,备机 切换负责写操作,保证数据库读写分离高可用性。


3、测试高可用

1、下面我们先将Master2节点停掉(因为现在是主机)

2、 我们继续向mysql集群中插入数据试试

 可以发现是没有问题的

3、下面我们再将Master2启动起来

发现可以查询到Master2、Slave1、Slave2节点的数据了,刚刚因为Master2停掉,那么Slave2就无法同步数据了,因为Master1只和Slave1同步,所以只能查询到Slave1节点的数据。 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/781139.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号