欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

mycat配置分库分表+读写分离

程序员文章站 2022-05-08 23:09:20
...

实验环境

mycat1.6

mysql5.6

第一步:新建数据库和表

mysql5.6主1号和从1号

mysql5.6主2号和从2号

配置主从1号和2号参考链接:

https://blog.csdn.net/u010772230/article/details/103642811

在主1号中创建数据库db4并新建表t_user

在主2号中创建数据库db5新建表t_user

CREATE TABLE `t_user` (
 
`id` bigint(20) NOT NULL AUTO_INCREMENT,
 
`name` varchar(256) NULL,
 
PRIMARY KEY (`id`) 
 
);

第二步:配置mycat的server.xml

配置mycat的逻辑数据库名和账号密码

mycat配置分库分表+读写分离

第三步:配置mycat的schema.xml

<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">

	<schema name="MyCatDB" checkSQLschema="false" sqlMaxLimit="100">
	<table name="t_user" primaryKey="ID"  dataNode="dn4,dn5" autoIncrement="false" rule="mod-long" />
	</schema>

	<dataNode name="dn4" dataHost="localhost1" database="db4" />
	<dataNode name="dn5" dataHost="localhost2" database="db5" />

	<dataHost name="localhost1" maxCon="1000" minCon="10" balance="3"
			  writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
		<heartbeat>select user()</heartbeat>
		<writeHost host="hostM1" url="db4主数据库的地址" user="root"
				   password="root">
			<readHost host="hostS2" url="db4从数据库的地址"" user="root" password="root" />
		</writeHost>
	</dataHost>
	<dataHost name="localhost2" maxCon="1000" minCon="10" balance="3"
			  writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
		<heartbeat>select user()</heartbeat>
		<writeHost host="hostM1" url="db5主数据库的地址" user="root"
				   password="root">
			<readHost host="hostS2" url="db5从数据库的地址" user="root" password="root" />
		</writeHost>

	</dataHost>
	
	
</mycat:schema>

第四步:启动mycat验证

启动mycat

用navicate连接mycat

然后往mycat的逻辑库MyCatDB的t_user表插入两条记录

INSERT INTO `t_user` (`id`, `name`) VALUES (1, "ddd");
INSERT INTO `t_user` (`id`, `name`) VALUES (2, "ddd");

在单独,在db4的从库往t_user表插入一条数据

INSERT INTO `t_user` (`id`, `name`) VALUES (3, "db4从库数据");

在单独,在db5的从库往t_user表插入一条数据

INSERT INTO `t_user` (`id`, `name`) VALUES (4, "db5从库数据");

 

此时,db4主库一条数据,db4从库2条数据

db5主库一条数据,db5从库2条数据

通过mycat查询出来的数据有四条数据,验证完毕。

mycat配置分库分表+读写分离

 

相关标签: mycat