ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

MyCat 安装

2022-02-20 10:04:07  阅读:221  来源: 互联网

标签:echo MyCat server Mycat user mycat 安装 PIDFILE


MyCat 安装

  1. 下载 mycat

    wget http://dl.mycat.org.cn/1.6.7.4/Mycat-server-1.6.7.4-release/Mycat-server-1.6.7.4-release-20200105164103-linux.tar.gz
    tar -zxvf Mycat-server-1.6.7.4-release-20200105164103-linux.tar.gz
    mv mycat /usr/local/
    cd /usr/local/mycat
    
  2. 配置server 用户

    vim bin/server.xml
    
    <!-- 配置 root 密码及 schemas  -->
    <user name="root" defaultAccount="true">
        <property name="password">root</property>
        <property name="schemas">user</property>
        <property name="defaultSchema">TESTDB</property>         
    </user>
    <user name="user">
        <property name="password">user</property>
        <property name="schemas">user</property>
        <property name="readOnly">true</property>
        <property name="defaultSchema">TESTDB</property>
    </user>
    
  3. 配置 schema 数据库配置, 笔者两个数据库 host 分别为192.168.31.202:3306, 192.168.31.203:3306, 两个库分别有数据库 user_node_1 和 user_node_2,每个库中都有一个 user 表

    vim bin/schema.xml
    
    <schema name="user" checkSQLschema="true" sqlMaxLimit="100" randomDataNode="dn1">
                    <table name="user" dataNode="dn1,dn2" rule="auto-sharding-long" splitTableNames ="true"/>
    
    </schema>
    
    <dataNode name="dn1" dataHost="node-1" database="user_node_1" />
    <dataNode name="dn2" dataHost="node-2" database="user_node_2" />
    
    
    <dataHost name="node-1" maxCon="1000" minCon="10" balance="0"
                              writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
        <heartbeat>select user()</heartbeat>
        <writeHost host="hostM1" url="192.168.31.201:3306" user="root"
                   password="root">
    </dataHost>
    <dataHost name="node-2" maxCon="1000" minCon="10" balance="0"
                writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
        <heartbeat>select user()</heartbeat>
        <writeHost host="M2" url="192.168.31.203:3306" user="root"
                   password="root">
        </writeHost>
    </dataHost>
    
  4. 由于本案例只有两个 database,所以需要修改默认auto-sharding-long的规则

    vim conf/autopartition-long.txt
    0-500M=0
    500M-1000M=1
    
  5. 启动 mycat

    ./bin/mycat console
    
  6. 连接 mycat, 注意端口是 8066

    image-20220220092250755

可以看到里面有配置好的逻辑分库 user 和逻辑分表 user

image-20220220092328588

  1. 测试插入

    insert into `user` (id,username) values(1, 'thomas-fan');
    

    可以看到插入成功,并且在分库上写入成功

image-20220220092731852

  1. 配置开机自启脚本

    vim /etc/init.d/mycat
    
    !/bin/sh
    #
    # Simple Mycat init.d script conceived to work on Linux systems
    # as it does use of the /proc filesystem.
    
    ### BEGIN INIT INFO
    # Provides:     mycat
    # Default-Start:        2 3 4 5
    # Default-Stop:         0 1 6
    # Short-Description:    Mycat data structure server
    # Description:          Mycat data structure server. See https://github.com/MyCATApache/Mycat-Server
    ### END INIT INFO
    
    EXEC=/usr/local/mycat/bin/mycat
    PIDFILE=/usr/local/mycat/logs/mycat.pid
    
    case "$1" in
        start)
            if [ -f $PIDFILE ]
            then
                    echo "$PIDFILE exists, process is already running or crashed"
            else
                    echo "Starting Mycat server..."
                    $EXEC start
            fi
            ;;
        stop)
            if [ ! -f $PIDFILE ]
            then
                    echo "$PIDFILE does not exist, process is not running"
            else
                    PID=$(cat $PIDFILE)
                    echo "Stopping ..."
                    $EXEC stop
                    while [ -x /proc/${PID} ]
                    do
                        echo "Waiting for Mycat to shutdown ..."
                        sleep 1
                    done
                    echo "Mycat stopped"
            fi
            ;;
        *)
            echo "Please use start or stop as first argument"
            ;;
    esac
    
    cd /etc/init.d/
    chmod +x mycat
    chkconfig mycat on
    systemctl start mycat
    

标签:echo,MyCat,server,Mycat,user,mycat,安装,PIDFILE
来源: https://www.cnblogs.com/thomas-fan/p/15914877.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有