mycat之schema文件配置详解

<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
	
	<!-- 
		schema					用于指定逻辑库
		name="mycatdb" 			指定逻辑库的名称,可以随便写,但是要和server.xml文件中的<property name="schemas">mycatdb</property>相对应
		checkSQLschema="false"	是否校验sql,false表示不校验sql标准
		sqlMaxLimit="100"		分页,每页最多返回100条
		dataNode="dn1"			指定数据节点,需要和下面的dataNode的name属性相同
	-->
	<schema name="mycatdb" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1">
		<!-- 
			schema下面是各种逻辑表,当不需要水平拆分和垂直拆分的时候是不需要指定table
		-->
	</schema>
	
	<!-- 
		dataNode	一个dataNode表示一个数据节点,用于配置物理数据库名称,物理数据库(物理库):在mysql中真实创建的数据库
		name		指定dataNode名称,可以随便写,但是要和schema中的dataNode相对应,但是建议保留dn1,因为mycat中有些配置用到了dn1
		dataHost	用于指定下面的dataHost,要求要和dataHost的name属性相同
		database	物理库名称,要和mysql中的数据库对应
	-->
	<dataNode name="dn1" dataHost="host1" database="testdb" />
	
	<!-- 
		dataHost		用于配置读写分离
		maxCon			最大连接数量
		minCon			最小连接数量
		balance			负载均衡策略,目前有4种
							1.balance="0"	不开启读写分离机制,所有读操作都发送到当先可用的writeHost上;
							2.balance="1"	(推荐)全部的readHost与stand by writeHost参与select语句的负载均衡,简单的说当双主双从模式(M1 -> M1S1 , M2 -> M2S1,并且M1与M2互为主备),正常情况下,M2,M1S1,M2S1都参与select语句的负载均衡
							3.balance="2"	所有读操作都随机的在writeHost,readHost上分发
							4.balance="3"	所有读请求随机的分发到writeHost对应的readHost执行,writeHost不负担读的压力
		writeType		已经不用了,不做解释
		dbType			指定mycat连接数据库的类型
		dbDriver		数据库的驱动类型,native表示mysql的原生驱动
		switchType		配置故障切换类型,需要配合<heartbeat>select user()</heartbeat>心跳机制
							1:switchType="-1"	表示不自动切换
							2:switchType="1"	默认值,自动切换(推荐)
							3:switchType="2"	基于mysql主从同步的状态决定是否切换
							4:switchType="3"	基于 MySQL galary cluster的切换机制(适用于集群)
		slaveThreshold	配置从机数量
			heartbeat		心跳机制,用于和后端数据库进行心跳检查的语句,检测MySQL是否正常运行
								当switchType为1时,mysql心跳检查语句是:select user()
								当switchType为2时,mysql心跳检查语句是:show slave status		利用主从状态,判断IO进程
								当switchType为3时,mysql心跳检查语句是:show status like 'wsrep%'
			writeHost		写的数据库的信息
			readHost		读的数据信息
				host		配置写/读的数据库名字
				url			配置写/读的数据库所在ip地址
				user		登录数据库的用户名
				password	登录数据库的密码
	-->
	<dataHost name="host1" maxCon="1000" minCon="10" balance="3"
			  writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
		<heartbeat>select user()</heartbeat>
		<!-- can have multi write hosts -->
		<writeHost host="M1" url="192.168.1.99:3306" user="root"
				   password="root">
			<!-- can have multi read hosts -->
			<readHost host="M1S1" url="192.168.1.97:3306" user="root" password="root" />
		</writeHost>
	</dataHost>
</mycat:schema>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值