3 Mycat读写分离实现

1、读写分离介绍

3 Mycat读写分离实现_第1张图片

  1. 基于Mysql主从复制,我们通过Mycat,能够实现读写分离,即master主服务器实现写操作(insert,update,delete等),salve从服务器实现读操作(select等)
  2. 主服务器一旦有写入操作,从服务器通过读取binlog,来实现数据同步;Mycat也时时发送心跳包来检测mysql服务器是否可用;
2、读写分离核心配置详解

Mycat读写分离核心配置文件:schema.xml

schema.xml有几个标签,分别是:
mycat:schema schema主配置标签,
schema逻辑库配置标签,
dataNode数据节点配置标签,
dataHost数据库主机配置标签;
3 Mycat读写分离实现_第2张图片
schema标签属性介绍:(定义逻辑数据库)
3 Mycat读写分离实现_第3张图片
dataNode标签属性:(定义数据分片节点)

3 Mycat读写分离实现_第4张图片
dataHost标签属性:(定义后端的数据库主机)
3 Mycat读写分离实现_第5张图片
3 Mycat读写分离实现_第6张图片
heartbeat子标签属性(心跳执行SQL)
writeHost子标签属性(写主机配置)
readHost子标签属性(读主机配置)
3 Mycat读写分离实现_第7张图片
参考配置:



DOCTYPE mycat:schema SYSTEM "schema.dtd">

<mycat:schema xmlns:mycat="http://io.mycat/">

 

  <schema name="TESTDB" checkSQLschema="true" sqlMaxLimit="100" dataNode="dn1">

  schema>

  

  <dataNode name="dn1" dataHost="localhost1" database="db_java1234" />

 

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

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

     <heartbeat>select user()heartbeat>

     

     <writeHost host="masterHost1" url="172.20.0.2:3306" user="root"

             password="123456">

             <readHost host="slaveHost1" url="172.20.0.3:3306" user="root"

             password="123456">readHost>

     writeHost>

  dataHost>

mycat:schema>

你可能感兴趣的:(Mycat,数据库)