打开mycat 官网
简介
https://github.com/MyCATApache/Mycat-Server/wiki/1.0-Mycat%E7%AE%80%E4%BB%8B
下载
https://github.com/MyCATApache/Mycat-download/tree/master/1.6-RELEASE
启动前,一般需要修改JVM配置参数,打开conf/wrapper.conf文件,如下行的内容为2G和2048,可根据本机配置情况修改为512M或其它值。 以下配置跟jvm参数完全一致,可以根据自己的jvm参数调整。
wrapper.java.additional.12=-XX:+UseParNewGC
wrapper.java.additional.13=-XX:+UseConcMarkSweepGC
wrapper.java.additional.14=-XX:+UseCMSCompactAtFullCollection
wrapper.java.additional.15=-XX:CMSFullGCsBeforeCompaction=0
wrapper.java.additional.16=-XX:CMSInitiatingOccupancyFraction=70
server.xml 中添加
<property name="processors">16</property> <!--cpu处理数量-->
<property name="processorExecutor">32</property><!--线城池数量-->
schema.xml 中修改
<dataHost name="localhost1" maxCon="1000" minCon="1000" balance="0"
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<!-- can have multi write hosts -->
<writeHost host="hostM1" url="192.168.59.129:3339" user="root"
password="123456">
<!-- can have multi read hosts -->
<readHost host="hostS2" url="192.168.59.129:3340" user="root" password="123456" />
</writeHost>
<!-- <writeHost host="hostM2" url="localhost:3316" user="root" password="123456"/> -->
</dataHost>
配置入门
https://github.com/MyCATApache/Mycat-Server/wiki/3.0-Mycat%E9%85%8D%E7%BD%AE%E5%85%A5%E9%97%A8
分片的概念:分库 水平分库(库表结构都是一样的集群) 垂直分库(按照业务分库 分布式)
分区的概念:分表
<schema name="db_jxc" checkSQLschema="false" sqlMaxLimit="100">
<!-- auto sharding by id (long) -->
<!-- <table name="travelrecord" dataNode="dn1,dn2,dn3" rule="auto-sharding-long" primaryKey="ID" type="global"/> -->
<table name="t_user_role" primaryKey="ID" dataNode="dn1,dn2,dn3" rule="auto-sharding-long"/>
<table name="t_user" primaryKey="ID" dataNode="dn1,dn2,dn3" rule="auto-sharding-long"/>
<table name="t_supplier" primaryKey="ID" dataNode="dn1,dn2,dn3" rule="auto-sharding-long"/>
<table name="t_sale_list_goods" primaryKey="ID" dataNode="dn1,dn2,dn3" rule="auto-sharding-long"/>
<table name="t_sale_list" primaryKey="ID" dataNode="dn1,dn2,dn3" rule="auto-sharding-long"/>
<table name="t_role_menu" primaryKey="ID" dataNode="dn1,dn2,dn3" rule="auto-sharding-long"/>
<table name="t_role" primaryKey="ID" dataNode="dn1,dn2,dn3" rule="auto-sharding-long"/>
<table name="t_return_list_goods" primaryKey="ID" dataNode="dn1,dn2,dn3" rule="auto-sharding-long"/>
<table name="t_return_list" primaryKey="ID" dataNode="dn1,dn2,dn3" rule="auto-sharding-long"/>
<table name="t_purchase_list_goods" primaryKey="ID" dataNode="dn1,dn2,dn3" rule="auto-sharding-long"/>
<table name="t_purchase_list" primaryKey="ID" dataNode="dn1,dn2,dn3" rule="auto-sharding-long"/>
<table name="t_overflow_list_goods" primaryKey="ID" dataNode="dn1,dn2,dn3" rule="auto-sharding-long"/>
<table name="t_overflow_list" primaryKey="ID" dataNode="dn1,dn2,dn3" rule="auto-sharding-long"/>
<table name="t_menu" primaryKey="ID" dataNode="dn1,dn2,dn3" rule="auto-sharding-long"/>
<table name="t_log" primaryKey="ID" dataNode="dn1,dn2,dn3" rule="auto-sharding-long"/>
<table name="t_goodsunit" primaryKey="ID" dataNode="dn1,dn2,dn3" rule="auto-sharding-long"/>
<table name="t_goodstype" primaryKey="ID" dataNode="dn1,dn2,dn3" rule="auto-sharding-long"/>
<table name="t_goods" primaryKey="ID" dataNode="dn1,dn2,dn3" rule="auto-sharding-long"/>
<table name="t_damage_list_goods" primaryKey="ID" dataNode="dn1,dn2,dn3" rule="auto-sharding-long"/>
<table name="t_damage_list" primaryKey="ID" dataNode="dn1,dn2,dn3" rule="auto-sharding-long"/>
<table name="t_customer_return_list_goods" primaryKey="ID" dataNode="dn1,dn2,dn3" rule="auto-sharding-long"/>
<table name="t_customer_return_list" primaryKey="ID" dataNode="dn1,dn2,dn3" rule="auto-sharding-long"/>
<table name="t_customer" primaryKey="ID" dataNode="dn1,dn2,dn3" rule="auto-sharding-long"/>
<!-- <table name="oc_call" primaryKey="ID" dataNode="dn1$0-743" rule="latest-month-calldate"
/> -->
</schema>
<!-- <dataNode name="dn1$0-743" dataHost="localhost1" database="db$0-743"
/> -->
<dataNode name="dn1" dataHost="localhost1" database="db_jxc1" />
<dataNode name="dn2" dataHost="localhost1" database="db_jxc1" />
<dataNode name="dn3" dataHost="localhost1" database="db_jxc1" />
<!--<dataNode name="dn4" dataHost="sequoiadb1" database="SAMPLE" />
<dataNode name="jdbc_dn1" dataHost="jdbchost" database="db1" />
<dataNode name="jdbc_dn2" dataHost="jdbchost" database="db2" />
<dataNode name="jdbc_dn3" dataHost="jdbchost" database="db3" /> -->
<dataHost name="localhost1" maxCon="1000" minCon="1000" balance="0"
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<!-- can have multi write hosts -->
<writeHost host="hostM1" url="192.168.59.129:3339" user="root"
password="123456">
<!-- can have multi read hosts -->
<readHost host="hostS2" url="192.168.59.129:3340" user="root" password="123456" />
</writeHost>
<!-- <writeHost host="hostM2" url="localhost:3316" user="root" password="123456"/> -->
</dataHost>
Mycat-Web
Mycat,mycat eye 依赖 jdk1.7+环境,jdk 下载地址为:
http://www.oracle.com/technetwork/java/javase/downloads/
Zookeeper 环境要求
Mycat eye 需要 Zookeeper 作为配置中心
zookeeper-3.4.6.tar.gz
Zookeeper 配置
1. 解 压 zookeeper-3.4.6.tar.gz;
2. zookeeper-3.4.6\conf 目录下把 zoo_sample.cfg 修改为 zoo.cfg;
3. 启动 zookeeper
Windowns 操作系统启动命令: zookeeper-3.4.6\bin\zkServer.bat
Linux 操作系统启动命令:zookeeper-3.4.6\bin\zkServer.sh start
mycat 资料 ;
Mycat eye 环境部署
软件清单
Windowns 版本:
Mycat-web-1.0-SNAPSHOT-20151208180035-win.zip
Linux 版本:
Mycat-web-1.0-SNAPSHOT-20151208180035-linux.tar.gz
下载地址:https://github.com/MyCATApache/Mycat-download/tree/master/mycat-web-1.0
加压后生成 mycat-web 目录,目录结构如下:
先启动 zookeeper;
然后启动 mycat eye
Windowns 版本:
start.bat
Linux 版本:
start.sh
访问 mycat eye
http://localhost:8082/mycat/
mycat.properties 配置
如果 zookeeper 连接不上
mycat-web\mycat-web\WEB-INF\classes\ mycat.properties 配置文件
zookeeper=127.0.0.1:2181
配置下 zookeeper 的服务器和端口
方法 2:访问 http://localhost:8082/mycat/
思路:
1、mycat 的server.xml 我们需要关心的是
2、schema.xml:
3、用 navicat 连接master 库,创建 路由对应的数据库(物理库),创建表结构和数据
4、使用navicat 连接mycat ,再mycat 中添加数据进行测试
5、再项目中配置mycat
mycat具体相关资料放在博客资源tag下面,免费自取