mycat 笔记

mycat 启动

连接
mysql -umycat -pmycat -P8066 -h127.0.0.1 -Dmycat
记得加-h127.0.0.1


druidparser 1 8066 9066

mycat
mycat
true/false

如果出现乱码添加字符集

gbk

</system>

如果连接空闲超时

5000000000 单位毫秒
300 单位秒

</system>

其他类似系统参数都是在 system下面配置property 对应的参数配置。

自增主键配置:

自增主键配置:

insert into childTable(xxx) values(xxx);
子表的路由依赖于父表,根据父表的数据位置存储。

只做读写分离不做数据切分的配置 ,只需要配置默认分片节点,dataNode="mycat_node1即可,不需要配置所有的表(注意1.3必须配置所有的表,1.3不支持默认分片配置)

<dataNode name="mycat_node1" dataHost="blog" database="mycat_node1" /> 
         <table name="travelrecord" dataNode="dn1,dn2"  type="globla" autoIncrement="true"></table>  1.3 必须明确配置表,1.4可以不配置
<dataHost name="blog" maxCon="100" minCon="10" balance="1"
   writeType="0" dbType="mysql" dbDriver="native">
    <heartbeat>select 1</heartbeat>
    <writeHost host="master" url="127.0.0.1:3306" user="root" password="xx">
       <readHost host="readslave" url="ip:3306" user="root" password="xx"/>
    </writeHost>


</dataHost>

主从配置;

<schema name="mycat" checkSQLschema="true" sqlMaxLimit="10" dataNode="mycat_node1">  </schema>

<dataNode name="mycat_node1" dataHost="blog" database="mycat_node1" /> 

<dataHost name="blog" maxCon="100" minCon="10" balance="1"  writeType="0" dbType="mysql" dbDriver="native" switchType="1">
    <heartbeat>select 1</heartbeat>
    <writeHost host="master" url="127.0.0.1:3306" user="root" password="xxx"></writeHost>
            <writeHost host="slave" url="ip:3306" user="root" password="xxx"></writeHost>   

</dataHost>

在dataHost 中配置多个writeHost 默认以配置顺序为主,第一个为主库,后面为从库,可以有多个,
切换类型writeType=1或者2 ,0 是不切换

如果主挂掉,根据配置顺序选择新的主
具体主的为那个记录在 dnindex.properties 中

如果需要切换 9066 执行切换数据源命令
switch @@datasource blog:0;
blog 是dataHost 名字,后面的是writerHost 编号默认从0开始。

标签