mysql中间件Mycat:配置2(读写分离)

前面我们完成了mycat多节点取数据的配置:
http://blog.csdn.net/github_26672553/article/details/78110830
多节点在一定程度上起到了 负载均衡的作用。

现在我们修改一下schema.xml这个配置文件,看看一个节点下多台mysql服务器如何配置?



<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为如下内容:



<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="3"
        writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
        <heartbeat>select user()heartbeat>

        
        <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>

这个配置就是一个简单的读写分离配置。

你可能感兴趣的:(MySQL)