mycat安装(linux)

1:下载安装包

下载地址:http://www.mycat.io/  

 

 

--点击下载linux版本的安装包

 

 

2:将安装包上传到/usr/local 目录下,解压

 

tar -zxvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz

 

3:新建用户和组

 

groupadd mycat
adduser -r -g mycat mycat
chown -R mycat.mycat /usr/local/mycat  //修改mycat目录所属mycat用户


4:修改conf目录下的配置文件

 

schema.xml:定义并管理MyCat的逻辑库、表、分片规则、DataNode 以及DataSource。
server.xml:几乎保存了所有mycat 需要的系统配置信息。用于服务器参数调整和用户授权的配置文件。
rule.xml:用来定义拆分表格的分片规则。
wrapper.conf:jvm启动参数的配置。

一:修改wrapper.conf文件,配置jdk

vim wrapper.conf


# 配置自己的java路径
wrapper.java.command=/usr/local/java/bin/java


二:修改schema.xml文件

<?xml version="1.0"?>  
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">  
<mycat:schema xmlns:mycat="http://io.mycat/">  
  
    <!-- TESTDB是mycat数据库,注意名称必须和server.xml中配置的一致 -->  
    <schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100">  
        <!-- dn1、dn2、dn3是mysql中的三个数据库节点,分别代替三个不同的数据库。  
             dataNode该属性定义逻辑表所属的数据库,  
             rule属性用于指定逻辑表要使用的规则名字,规则名字在rule.xml中定义。  
        -->  
        <table name="travelrecord" dataNode="dn1,dn2,dn3" rule="auto-sharding-long" />  
        <!--  
        primaryKey属性指定逻辑表对应的主键,  
        type属性定义了逻辑表的类型,目前逻辑表只有“全局表”和”普通表”两种类型,不指定即为普通表  
        -->  
        <table name="company" primaryKey="ID" type="global" dataNode="dn1,dn2,dn3" />  
        <table name="goods" primaryKey="ID" type="global" dataNode="dn1,dn2" />  
        <!-- autoIncrement指定这个表有使用自增长主键,默认为false -->  
        <table name="hotnews" primaryKey="ID" autoIncrement="true" dataNode="dn1,dn2,dn3"  
               rule="mod-long" />  
        <table name="employee" primaryKey="ID" dataNode="dn1,dn2"  
               rule="sharding-by-intfile" />  
        <table name="customer" primaryKey="ID" dataNode="dn1,dn2"  
               rule="sharding-by-intfile">  
            <childTable name="orders" primaryKey="ID" joinKey="customer_id"  
                        parentKey="id">  
                <childTable name="order_items" joinKey="order_id"  
                            parentKey="id" />  
            </childTable>  
            <childTable name="customer_addr" primaryKey="ID" joinKey="customer_id"  
                        parentKey="id" />  
        </table>  
    </schema>  
  
    <!-- 配置mysql数据库节点,一个dataNode代表一个数据库 -->  
    <dataNode name="dn1" dataHost="127.0.0.1" database="db1" />  
    <dataNode name="dn2" dataHost="127.0.0.1" database="db2" />  
    <dataNode name="dn3" dataHost="127.0.0.1" database="db3" />  
      
      
    <!-- dataHost用来定义具体的mysql以及读写分离  -->  
    <!--    
    maxCon/maxCon指定最大最小连接数,  
    balance=“0”, 所有读操作都发送到当前可用的writeHost上。  
        balance=“1”,所有读操作都随机的发送到readHost。  
        balance=“2”,所有读操作都随机的在writeHost、readhost上分发。  
    writeType=“0”, 所有写操作都发送到可用的writeHost上。  
        writeType=“1”,所有写操作都随机的发送到readHost。  
        writeType=“2”,所有写操作都随机的在writeHost、readhost分上发。  
    dbType指定数据库类型,支持oracle、mongodb等  
    dbDriver指定连接后端数据库使用的Driver,目前可选的值有native和JDBC。  
    -->  
    <dataHost name="127.0.0.1" maxCon="1000" minCon="10" balance="0"  
              writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">  
        <!-- heartbeat标签指定后端数据库进行心跳检查的语句。例如,MYSQL可以使用select user(),Oracle可以使用select 1 from dual等-->  
        <heartbeat>select user()</heartbeat>  
        <writeHost host="hostM1" url="127.0.0.1:3306" user="root"  
                   password="root">  
            <!-- <readHost host="hostS2" url="192.168.1.200:3306" user="root" password="xxx" /> -->  
        </writeHost>  
        <!-- <writeHost host="hostS1" url="localhost:3316" user="root"  
                   password="123456" /> -->  
    </dataHost>  
      
</mycat:schema>  

 

 

三:修改server.xml文件

 

       <!-- 配置根用户和密码,这里的TESTDB需要和schema.xml配置的名称一致 -->  
<user name="root">  
    <property name="password">123456</property>  
    <property name="schemas">TESTDB</property>  
</user>  
  
<!-- 配置用户和密码,设置权限为只读 -->  
<user name="test">  
    <property name="password">123456</property>  
    <property name="schemas">TESTDB</property>  
    <property name="readOnly">true</property>  
</user> 

 

 

5:测试测试数据库

连接mysql创建db1、db2、db3 三个数据库

 

6:启动mycat

 

/usr/local/mycat/bin/mycat start


7:连接mycat

 

mysql -uroot -p123456 -h127.0.0.1 -P8066 -DTESTDB 

注意-P、-D需要大写,-h 后面必须是ip,使用localhost会出错

 

 

8:测试

use TESTDB;
create table company(id int not null primary key,name varchar(50),addr varchar(255));
insert into company values(1,"facebook","usa");


 

 

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值