mysql中间件Mycat:配置2(读写分离)
前面我们完成了mycat多节点取数据的配置:http://blog.csdn.net/github_26672553/article/details/78110830多节点在一定程度上起到了 负载均衡的作用。现在我们修改一下schema.xml这个配置文件,看看一个节点下多台mysql服务器如何配置?<?xml version="1.0"?><!DOCTYPE mycat:schema S
·
前面我们完成了mycat多节点取数据的配置:
http://blog.csdn.net/github_26672553/article/details/78110830
多节点在一定程度上起到了 负载均衡的作用。
现在我们修改一下schema.xml
这个配置文件,看看一个节点下多台mysql服务器如何配置?
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://org.opencloudb/">
<schema name="mydbname" checkSQLschema="false" sqlMaxLimit="100">
<!-- 注意 只有一个节点了 -->
<table name="news" primaryKey="id" type="global" dataNode="dataNode1" />
</schema>
<!-- 节点配置 -->
<dataNode name="dataNode1" dataHost="dataHost1" database="test" />
<dataHost name="dataHost1" maxCon="1000" minCon="10" balance="0"
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<!-- 一个节点下 多台服务器 -->
<writeHost host="host1" url="10.211.55.13:3306" user="root" password="admin888"> </writeHost>
<writeHost host="host2" url="192.168.15.138:3306" user="root" password="root"> </writeHost>
</dataHost>
</mycat:schema>
注意:修改了配置文件后,记得重启mycat服务器哦:mycat restart
现在我们连接上mycat服务器(怎么链接?前一篇已经介绍),我们写条查询SQL来测试:
SELECT * FROM news;
如果此时其中一台msyql服务宕机了,还是可以取得数据(因为还有另外一台)
试一下读写分离
balance属性:
balance="0",不开启读写分离,所有读操作都加在writeHost上;
balance="1",全部writeHost和readHost都参与select;
balance="2",所有读操作都随机在writeHost、readHost上处理;
balance="3",所有读readHost执行,writeHost不读只写。
修改schema.xml为如下内容:
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://org.opencloudb/">
<schema name="mydbname" checkSQLschema="false" sqlMaxLimit="100">
<!-- 注意 只有一个节点了 -->
<table name="news" primaryKey="id" type="global" dataNode="dataNode1" />
</schema>
<!-- 节点配置 -->
<dataNode name="dataNode1" dataHost="dataHost1" database="test" />
<!-- balance="3" 开启读写 -->
<dataHost name="dataHost1" maxCon="1000" minCon="10" balance="3"
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<!-- 10.211.55.13是主(写)
192.168.88.88是从(读)
-->
<writeHost host="hostM1" url="10.211.55.13:3306" user="root" password="admin888">
<readHost host="hosS2" url="192.168.88.88:3306" user="root" password="admin888" />
</writeHost>
</dataHost>
</mycat:schema>
这个配置就是一个简单的读写分离配置。
更多推荐
已为社区贡献9条内容
所有评论(0)