天天看点

mysql集群之mycat读写分离配置

    mycat 用作数据读写分离 , 配置文件 :

<schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn"></schema>

  <dataNode name="dn" dataHost="localhost" database="db" />

  <dataHost name="localhost" maxCon="1000" minCon="10" balance="3"

          writeType="0" dbType="mysql" dbDriver="native" switchType="2"  slaveThreshold="100">

           <heartbeat>show slave status</heartbeat>

            <writeHost host="hostM1" url="192.168.1.50:3306" user="stu” password="123qqq...A">

  <readHost host="hostS2" url="192.168.1.51:3306" user="stu" password="123qqq...A" />

  <readHost host="hostS3" url="192.168.1.52:3306" user="stu" password="123qqq...A" />

  <readHost host="hostS4" url="192.168.1.53:3306" user="stu" password="123qqq...A" />

  <readHost host="hostS5" url="192.168.1.54:3306" user="stu" password="123qqq...A" />

  <readHost host="hostS6" url="192.168.1.55:3306" user="stu" password="123qqq...A" />

             </writeHost>      

<writeHost host="hostM2" url="192.168.1.51:3306" user="stu" password="123qqq...A">

  <readHost host="hostS1" url="192.168.1.53:3306" user="stu" password="123qqq...A" />

  <readHost host="hostS2" url="192.168.1.54:3306" user="stu" password="123qqq...A" />

  <readHost host="hostS3" url="192.168.1.50:3306" user="stu" password="123qqq...A" />

  <readHost host="hostS4" url="192.168.1.52:3306" user="stu" password="123qqq...A" />

  <readHost host="hostS5" url="192.168.1.55:3306" user="stu" password="123qqq...A" />             

              </writeHost>

<writeHost host="hostM3" url="192.168.1.52:3306" user="stu" password="123qqq...A">

              <readHost host="hostS1" url="192.168.1.53:3306" user="stu" password="123qqq...A" />

              <readHost host="hostS2" url="192.168.1.54:3306" user="stu" password="123qqq...A" />

               <readHost host="hostS3" url="192.168.1.51:3306" user="stu" password="123qqq...A" />

               <readHost host="hostS4" url="192.168.1.50:3306" user="stu" password="123qqq...A" />

<readHost host="hostS5" url="192.168.1.55:3306" user="stu" password="123qqq...A" />

</writeHost>

</dataHost>

balance取值有个分别为0,1,2,3

      其中balance=0:表示不开启读写分离机制,所有读写发生自writehost上

      balance=1:全部的readhost与stand by writehost参与读的负载均衡

      balance=2:所有读操作都是随机发生在writehost和readhost上

      balance=3:所有读请求随机的分发到writehost对应的readhost执行,writehost不参与读请求

writeType取值可以是0,1

       其中writeType=0:表示只写配置文件最前面又是主库的文件段执行读写分离.

       writetype=1:所有读操作都随机发送到配置的writehost

switchType取值有4个,其中switchType=2,表示基于主从同步状态决定是否切换.

继续阅读