一、运行环境

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
 

MySQL 分库分表 dble简单使用的更多相关文章

  1. Mysql分库分表方案

    Mysql分库分表方案 1.为什么要分表: 当一张表的数据达到几千万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了.分表的目的就在于此,减小数据库的负担,缩短查询时间. m ...

  2. MYSQL分库分表和不停机更改表结构

    在MYSQL分库分表中我们一般是基于数据量比较大的时间对mysql数据库一种优化的做法,下面我简单的介绍一下mysql分表与分库的简单做法. .分库分表 很明显,一个主表(也就是很重要的表,例如用户表 ...

  3. 【分库、分表】MySQL分库分表方案

    一.Mysql分库分表方案 1.为什么要分表: 当一张表的数据达到几千万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了.分表的目的就在于此,减小数据库的负担,缩短查询时间. ...

  4. Java互联网架构-Mysql分库分表订单生成系统实战分析

    概述 分库分表的必要性 首先我们来了解一下为什么要做分库分表.在我们的业务(web应用)中,关系型数据库本身比较容易成为系统性能瓶颈,单机存储容量.连接数.处理能力等都很有限,数据库本身的“有状态性” ...

  5. 高可用Mysql架构_Mysql主从复制、Mysql双主热备、Mysql双主双从、Mysql读写分离(Mycat中间件)、Mysql分库分表架构(Mycat中间件)的演变

    [Mysql主从复制]解决的问题数据分布:比如一共150台机器,分别往电信.网通.移动各放50台,这样无论在哪个网络访问都很快.其次按照地域,比如国内国外,北方南方,这样地域性访问解决了.负载均衡:M ...

  6. mysql分库分表(二)

    mysql分库分表 参考: https://www.cnblogs.com/dongruiha/p/6727783.html https://www.cnblogs.com/oldUncle/p/64 ...

  7. mysql分库分表(一)

    mysql分库分表 参考: https://blog.csdn.net/xlgen157387/article/details/53976153 https://blog.csdn.net/cleve ...

  8. 思考--mysql 分库分表的思考

    查询不在分库键上怎么办,扫描所有库?由于分库了,每个库扫描很快?所以比单个表的扫描肯定快,可以这样理解吗. 多表jion怎么弄,把内层表发给每个分库吗? citus,tidb 都有这些问题,citus ...

  9. mysql 数据库 分表后 怎么进行分页查询?Mysql分库分表方案?

    Mysql分库分表方案 1.为什么要分表: 当一张表的数据达到几千万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了.分表的目的就在于此,减小数据库的负担,缩短查询时间. m ...

随机推荐

  1. python知识架构

    如果看不清可以右键图片打开新的标签页 原文链接:https://blog.csdn.net/oscer2016/article/details/80129284

  2. golang的time包

    Time对象转换为string和时间戳调用Time对象的方法 转换为string:Time.Format(输出的格式) 转换为时间戳 :Time.Unix() 两者转换为Time对象的时候调用的是ti ...

  3. C# Socket keeplive 心跳检测实例

    版权声明:本文为CSDN博主「b哈利路亚d」的原创文章,重新编辑发布,请尊重原作者的劳动成果,转载的时候附上原文链接:https://blog.csdn.net/lanwilliam/article/ ...

  4. 关于zynq系列板卡设计VREFP_0参考电压的疑问及解答

    使用板卡:Z-turn Board 芯片:Xilinx Zynq-7010/7020处理器 有工程师在试用zynq系列Z-turn Board时提出:在原理图P3页 Bank0上VREFP_0端接地的 ...

  5. TCP连接与断开

    两台宿主机 一台:作为服务器 另一台:作为客户端 服务器的步骤: 打开[控制面板]----点击[程序]---点击程序和功能中[打开或关闭Windows功能]---点击[Telnet服务器]--点击[确 ...

  6. JS-练习题

    1.foo()结果 function foo() { bar.apply(null, arguments); } function bar(){ console.log(arguments); } f ...

  7. poll_wait阻塞/唤醒

    1. 应用阻塞 应用程序使用 select() 或 poll() 调用设备驱动程序的 poll() 函数,该函数把输入输出复用处理的等待队列追加到由内核管理的进程的 poll_table()上 #in ...

  8. WC_Project

    个人项目:WC_Project 一.GitHub项目地址 GitHub项目地址:https://github.com/ting9500/WC_GNIT.git 二.PSP表格 PSP2.1 Perso ...

  9. MySQL5.7应当注意的参数

    简介: 本篇文章主要介绍 MySQL 初始化应当注意的参数,对于不同环境间实例迁移,这些参数同样应当注意. 注: 本文介绍的参数都是在配置文件 [mysqld] 部分. server_id 和 log ...

  10. Flask入门很轻松 (一)

    转载请在文章开头附上原文链接地址:https://www.cnblogs.com/Sunzz/p/10956837.html Flask诞生于2010年,是Armin ronacher(人名)用 Py ...