zoukankan      html  css  js  c++  java
  • 【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>
    制定计划、物质驱动、立即执行、反复提醒、阶段反馈、输出博客
  • 相关阅读:
    模块
    javacript一键换肤
    ajax请求
    jquery获取元素的方法
    ajax请求里的contentType: "application/json"作用
    Underscore.js 入门-常用方法介绍
    .NET Core调用WCF的最佳实践
    证伪主义——科学与伪科学的量尺
    高效的筒仓
    此时此刻,一个项目正在走向失败
  • 原文地址:https://www.cnblogs.com/wxseng/p/9614518.html
Copyright © 2011-2022 走看看