zoukankan      html  css  js  c++  java
  • MySQL 分库分表 dble简单使用

    一、运行环境

    Host Name IP DB Mod
    data0 172.16.100.170 mysql  
    data1 172.16.100.171 mysql  
    data2 172.16.100.172 mysql  

     二、安装dble

    1、上传安装dble

    需要Java环境,1.8及以上版本

    直接解压dble即可

    2、dble结构如下

    三、配置dble

    配置文件放在conf目录下

    1、配置server.xml 全局信息

    cp server_template.xml server.xml

    [root@data0 conf]# cat server.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE dble:server SYSTEM "server.dtd">
    <dble:server xmlns:dble="http://dble.cloud/" version="1.0">
        <system>
            <property name="serverPort">8066</property>       ##操作MySQL端口
            <property name="managerPort">9066</property>   ##管理MySQL端口
        </system>
        <!-- firewall config -->
        <!--
        <firewall>
        <whitehost>
              <host host="127.0.0.1" user="root"/>
              <host host="0:0:0:0:0:0:0:1" user="root"/>
           </whitehost>
           <blacklist check="true">
           <property name="selelctAllow">false</property>
           </blacklist>
        </firewall>
        -->
        <user name="man1">    ##管理用户以及登陆密码,并且不能设置schema
            <property name="password">654321</property>
            <property name="manager">true</property>
            <!-- manager user can't set schema-->
        </user>
        <user name="test">    ##操作用户以及密码
            <property name="password">123456</property>
            <property name="schemas">testdb</property>
        </user>
    </dble:server>
    [root@data0 conf]#

    2、配置schema.xml 分片信息

    cp schema_template.xml schema.xml
    [root@data0 conf]# cat schema.xml
    <?xml version="1.0"?>
    <!DOCTYPE dble:schema SYSTEM "schema.dtd">
    <dble:schema xmlns:dble="http://dble.cloud/" version="1.0">
        <schema name="testdb">
            <table name="users" primaryKey="ID" dataNode="dn1,dn2,dn3" rule="sharding-by-mod2"/>
        </schema>
        <dataNode name="dn1" dataHost="data0" database="testdb1"/>
        <dataNode name="dn2" dataHost="data1" database="testdb2"/>
        <dataNode name="dn3" dataHost="data2" database="testdb3"/>
        <dataHost name="data0" maxCon="1000" minCon="10" balance="0" switchType="-1" slaveThreshold="100">
            <heartbeat>show slave status</heartbeat>
            <writeHost host="data0" url="172.16.100.170:14014" user="test" password="123456">
            </writeHost>
        </dataHost>
        <dataHost name="data1" maxCon="1000" minCon="10" balance="0" switchType="-1" slaveThreshold="100">
            <heartbeat>show slave status</heartbeat>
            <writeHost host="data1" url="172.16.100.171:14015" user="test" password="123456">
            </writeHost>
        </dataHost>
        <dataHost name="data2" maxCon="1000" minCon="10" balance="0" switchType="-1" slaveThreshold="100">
                <heartbeat>show slave status</heartbeat>
            <writeHost host="data2" url="172.16.100.172:14016" user="test" password="123456">
            </writeHost>
        </dataHost>
    </dble:schema>
    [root@data0 conf]#

    3、配置rule.xml 分片规则

    cp rule_template.xml rule.xml
    [root@data0 conf]# cat rule.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE dble:rule SYSTEM "rule.dtd">
    <dble:rule xmlns:dble="http://dble.cloud/" version="1.0">
        <tableRule name="sharding-by-mod2">
            <rule>
                <columns>id</columns>
                <algorithm>hashmod2</algorithm>
            </rule>
        </tableRule>
        <function name="hashmod2" class="Hash">
           <property name="partitionCount">3</property>
           <property name="partitionLength">1</property>
        </function>
    </dble:rule>
    [root@data0 conf]#

    四、登陆验证

    mysql -utest -p123456 -P8066 -h127.0.0.1 testdb
     
  • 相关阅读:
    关于商业智能(Business Intelligence,简称BI)的认识
    Python连接mysql数据库和关闭数据库的方法
    Python 列表list方法clear( )和直接list [ ]的区别
    截止今天学习大数据技术的笔记
    【已解决】hive导出mysql报错:Container [pid=3962,containerID=container_1632883011739_0002_01_000002] is running 270113280B beyond the 'VIRTUAL' memory limit.
    sqoop安装配置以及简单使用
    大数据相关常用命令行或操作
    阿里巴巴数据库设计规范
    【已解决】linux环境jps命令不显示进程
    【已解决】初始化 Hive 元数据库报错slf4j-log4j12-1.7.25.jar包冲突
  • 原文地址:https://www.cnblogs.com/xibuhaohao/p/11911330.html
Copyright © 2011-2022 走看看