03、MySQL-------数据库中间件MyCat实现读写分离

八、数据库中间件MyCat实现读写分离

作用:进行读写分离

mycat是单独部署在一台服务器的

分析图:

在这里插入图片描述

1、克隆:

拷贝一个虚拟机栈作为mycat的服务器,ip为:192.168.209.153

查看 java -version ,看jdk是否安装好

上传这个
在这里插入图片描述

将mycat解压到指定目录下面

在这里插入图片描述
查看

在这里插入图片描述

2、配置分析:

schema.xml 等文件里面的属性都可以在这个官网查看,不懂的直接官网查就可以

mycat1的官网:https://www.yuque.com/ccazhw/tuacvk/gmbnwu

1、schema.xml

解释分析:

在这里插入图片描述

在这里插入图片描述

去掉注释:

把原本的配置文件给删除,把改好的这些复制进去

删除配置文件所有数据命令: :0, d 表示删除 0 到最后一行, d 表示删除0到最后一行, d表示删除0到最后一行,表示最后一行,d表示删除

在这里插入图片描述

<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
	<schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100">
		<table name="t_order" dataNode="dn01"/>
	</schema>
	<dataNode name="dn01" dataHost="dn01" database="ljh_test" />
	<dataHost name="dn01" maxCon="1000" minCon="10" balance="1" writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
		<heartbeat>select user()</heartbeat>
		<writeHost host="192.168.209.150" url="192.168.209.150:3306" user="root" password="123456">
			<readHost host="192.168.209.152" url="192.168.209.152:3306" user="root" password="123456" />
		</writeHost>
		<writeHost host="192.168.209.152" url="192.168.209.152:3316" user="root" password="123456" />
	</dataHost>
</mycat:schema>

拷贝老是不完整,开头的用手进行输入。

在这里插入图片描述
在这里插入图片描述

2、启动mycat:

启动mycat: /usr/local/mycat/bin/mycat start

查看mycat日志: tail -f -n 50 /usr/local/mycat/logs/wrapper.log

在这里插入图片描述

3、关闭防火墙:

在这里插入图片描述

4、代码测试:

测试写入:

写一个MyCatUtil的类

在这里插入图片描述

通过这个配置可以看出写入的主数据库是150服务器的数据库

在这里插入图片描述

成功往主数据库插入数据,从数据库也正常同步数据

测试读:

读数据的话应该是从 从数据库 读取数据

在这里插入图片描述

测试成功

强制读Master

如果我们想读主数据库的数据,应该这么操作

可以使用注解强制读操作走主库
/*#mycat:db_type=master*/ + 真实SQL

mycat在解析sql的时候发现该注解,就会去强制读主数据库

在这里插入图片描述

用注解强制读主库成功,这个注解就是长这个样子的,属于mycat的注解类型。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_L_J_H_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值