【MyCat】linux安装与配置

概念

Schema.xml

Schema.xml管理着MyCat的逻辑库、表、分片规则、DataNode以及DataSource

  • < schema >标签:用于定义MyCat实例中的逻辑库
  • < table >标签:定义了MyCat中的逻辑表
  • < dataNode >标签:定义了MyCat中的数据节点,也就是数据分片
  • < dataHost >标签:定义了具体的数据库实例、读写分离配置和心跳语句

server.xml

server.xml几乎保存了所有mycat需要的系统配置信息 
最常用的是在此配置用户名、密码及权限。


rule.xml

rule.xml里面就定义了对表进行拆分所涉及到的规则定义,可以灵活的对表使用不同的分片算法,或者对表使用相同的算法但具体的参数不同

这个文件里面主要有< tableRule >和< function > 这两个标签。在具体使用过程中可以按照需求添加tableRule和function

 

安装Mycat

  1. 解压缩Mycat,tar zxf Mycat-server-1.4-release-linux.tar.gz
  2. 复制文件夹,cp -r mycat /usr/local
  3. 进入mycall路径,cd /usr/local/mycat/bin
  4. 后台启动mycat,./mycat start
  5. 控制台启动mycat,./mycat console

mycat支持命令:console | start | stop | restart | status | dump 
mycat默认端口号:8066

 

配置

设置mysql对大小写不敏感

  1. 编辑mysql配置文件,vim /etc/my.cnf
  2. 添加配置,lower_case_table_names=1
  3. 重启mysql服务

修改配置文件

  1. 进入conf路径,cd mycat/conf
  2. 修改配置文件schema.xml,vim schema.xml,见下文 [ schema.xml ]
  3. 修改配置文件server.xml,vim server.xml,见下文 [ server.xml ]

[ schema.xml ]

<schema name="mall" checkSQLschema="false" sqlMaxLimit="100">
    <table name="tb_user" dataNode="dn1,dn2" rule="auto-sharding-long" />
    <table name="tb_item" dataNode="dn2,dn3" rule="auto-sharding-long" />
</schema>
<dataNode name="dn1" dataHost="localhost1" database="db1" />
<dataNode name="dn2" dataHost="localhost2" database="db2" />
<dataNode name="dn3" dataHost="localhost3" database="db3" />

<dataHost name="localhost1" maxCon="1000" minCon="10" balance="0" dbType="mysql" dbDriver="jdbc" writeType="0" switchType="1"  slaveThreshold="100">
    <heartbeat>select user()</heartbeat>
    <writeHost host="hostM1" url="jdbc:mysql://192.168.1.150:3306" user="root" password="root"></writeHost>
</dataHost>
<dataHost name="localhost2" maxCon="1000" minCon="1" balance="0" dbType="mysql" dbDriver="jdbc"> 
    <heartbeat>select user()</heartbeat>
    <writeHost host="hostM2" url="jdbc:mysql://192.168.1.151:3306" user="root"  password="root"></writeHost> 
 </dataHost>        
<dataHost name="localhost3" maxCon="1000" minCon="1" balance="0" dbType="mysql" dbDriver="jdbc"> 
    <heartbeat>select user()</heartbeat>
    <writeHost host="hostM3" url="jdbc:mysql://192.168.1.152:3306" user="root"  password="root"></writeHost> 
 </dataHost>    

[ server.xml ]

<user name="user">
    <property name="password">user</property>
    <property name="schemas">mall</property>
    <!-- <property name="readOnly">true</property> -->
</user>
posted @ 2018-09-09 18:31  buly  阅读(1073)  评论(0编辑  收藏  举报