zoukankan      html  css  js  c++  java
  • CentOS7.5 搭建MyCat1.6.6

    1、环境及版本

    操作系统:   CentOS 7.5

    MySQL:5.7.23

    jdk:1.8.0_191

    MyCat:1.6.6.1

    cat /etc/centos-release
    mysql -V
    java -version
    

      

     

    2、安装包准备

    下载网站:http://dl.mycat.io/1.6.6/

     

     【2】上传至linux服务器:

    mkdir /home/rhr/soft/mycat
    cd /home/rhr/soft/mycat
    rz
    

      

     3、开始安装

    【1】解压

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

    【2】安装tree(可选,使目录结构更好看)

    yum -y install tree
    

    查看tree:

    4、创建用户并修改配置文件

    【1】为了更好的进入mycat,设置MYCAT_HOME的变量

    vim /etc/profile
    

     添加绿色部分:


    export JAVA_HOME=/home/rhr/soft/jdk/jdk1.8.0_191
    export MYCAT_HOME=/home/rhr/soft/mycat/mycat
    export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:/usr/local/mysql/bin:$MYCAT_HOME/bin:$PATH


    使得变量生效
    source /etc/profile

      检查

    【2】配置mycat文件

    (1)修改server.xml

    cd home/rhr/soft/mycat/mycat/conf
    cp server.xml server_bak.xml
    vim  server.xml

    修改前:

    修改后:

    (2)修改schema.xml

     1)  修改schema 标签

    修改前:

        <schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100">
            <!-- auto sharding by id (long) -->
            <table name="travelrecord" dataNode="dn1,dn2,dn3" rule="auto-sharding-long" />
    
            <!-- global table is auto cloned to all defined data nodes ,so can join
                    with any table whose sharding node is in the same data node -->
            <table name="company" primaryKey="ID" type="global" dataNode="dn1,dn2,dn3" />
            <table name="goods" primaryKey="ID" type="global" dataNode="dn1,dn2" />
            <!-- random sharding using mod sharind rule -->
            <table name="hotnews" primaryKey="ID" autoIncrement="true" dataNode="dn1,dn2,dn3" rule="mod-long" />
            <!-- <table name="dual" primaryKey="ID" dataNode="dnx,dnoracle2" type="global"
                    needAddLimit="false"/> <table name="worker" primaryKey="ID" dataNode="jdbc_dn1,jdbc_dn2,jdbc_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>
            <!-- <table name="oc_call" primaryKey="ID" dataNode="dn1$0-743" rule="latest-month-calldate" /> -->
        </schema>

    修改后:

        <schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100">
            <!-- auto sharding by id (long) -->
        <table name="travelrecord" dataNode="dn1,dn2,dn3" rule="auto-sharding-long" />
    
        <!-- global table is auto cloned to all defined data nodes ,so can join
            with any table whose sharding node is in the same data node -->
    
        <table name="company" primaryKey="company_id" type="global" dataNode="dn1,dn2,dn3" />
        <table name="goods" primaryKey="goods_id" type="global" dataNode="dn1,dn2" />
    
        <!-- random sharding using mod sharind rule -->
        <table name="hotnews" primaryKey="hotnews_id" autoIncrement="true" dataNode="dn1,dn2,dn3" rule="mod-long" />
    
        <!-- <table name="dual" primaryKey="ID" dataNode="dnx,dnoracle2" type="global"
                needAddLimit="false"/> <table name="worker" primaryKey="ID" dataNode="jdbc_dn1,jdbc_dn2,jdbc_dn3" rule="mod-long" /> -->
    
        <table name="employee" primaryKey="employee_id" dataNode="dn1,dn2" rule="sharding-by-intfile" />
    
        <table name="customer" primaryKey="customer_id" dataNode="dn1,dn2" rule="sharding-by-murmur">
            <childTable name="orders" primaryKey="order_id" joinKey="customer_id" parentKey="customer_id">
                <childTable name="order_items" joinKey="order_id" parentKey="order_id" />
            </childTable>
            <childTable name="customer_addr" primaryKey="customer_addr_id" joinKey="customer_id"  parentKey="customer_id" />
        </table>
        <!-- <table name="oc_call" primaryKey="ID" dataNode="dn1$0-743" rule="latest-month-calldate" /> -->
        </schema>

     2)  修改schema 标签

    修改前

            <!-- can have multi write hosts -->
            <writeHost host="hostM1" url="localhost:3306" user="root" password="123">
                <!-- can have multi read hosts -->
                <readHost host="hostS2" url="localhost:3306" user="root" password="123" />
            </writeHost>
            <writeHost host="hostS1" url="localhost:3306" user="root" password="123" />
            <!-- <writeHost host="hostM2" url="localhost:3316" user="root" password="123456"/> -->

    修改后:

        <!-- can have multi write hosts -->
        <writeHost host="hostM1" url="localhost:3306" user="root"  password="YYBrhr_2018">
            <!-- can have multi read hosts -->
            <!-- <readHost host="hostS2" url="localhost:3306" user="root" password="123" /> -->
        </writeHost>
        <!-- <writeHost host="hostS1" url="localhost:3306" user="root" password="123" /> -->
        <!-- <writeHost host="hostM2" url="localhost:3316" user="root" password="123456"/> -->
        </dataHost>

    (3)修改role.xml

    修改前:    

    <tableRule name="sharding-by-intfile">
            <rule>
                <columns>sharding_id</columns>
                <algorithm>hash-int</algorithm>
            </rule>
        </tableRule>
        <tableRule name="auto-sharding-long">
            <rule>
                <columns>id</columns>
                <algorithm>rang-long</algorithm>
            </rule>
        </tableRule>
        <tableRule name="mod-long">
            <rule>
                <columns>id</columns>
                <algorithm>mod-long</algorithm>
            </rule>
        </tableRule>
        <tableRule name="sharding-by-murmur">
            <rule>
                <columns>id</columns>
                <algorithm>murmur</algorithm>
            </rule>
        </tableRule>

    修改后:

        <tableRule name="sharding-by-intfile">
            <rule>
                <columns>employee_id</columns>
                <algorithm>hash-int</algorithm>
            </rule>
        </tableRule>
        <tableRule name="auto-sharding-long">
            <rule>
                <columns>id</columns>
                <algorithm>rang-long</algorithm>
            </rule>
        </tableRule>
        <tableRule name="mod-long">
            <rule>
                <columns>hotnews_id</columns>
                <algorithm>mod-long</algorithm>
            </rule>
        </tableRule>
        <tableRule name="sharding-by-murmur">
            <rule>
                <columns>customer_id</columns>
                <algorithm>murmur</algorithm>
            </rule>
        </tableRule>

     5、启动mycat并测试

    【1】启动mycat

    mycat start
    mycat status

    【2】测试

    mysql -u root -p -P8066 -h 127.0.0.1

    这里输入的密码,是在/home/rhr/soft/mycat/mycat/conf/server.xml里面看到的密码

    这样就说明安装成功了,安装或者启动mycat之前

  • 相关阅读:
    NET网络配置
    NTP时间同步器
    NFS配置linux
    DNS配置域名解析
    ftp配置windows
    samba配置与windows
    NTP服务和DNS服务
    NFS服务和DHCP服务scp
    SAMBA服务和FTP服务
    find用法
  • 原文地址:https://www.cnblogs.com/yybrhr/p/9814860.html
Copyright © 2011-2022 走看看