• MySQL 中间件 mycat 的使用


    什么是MYCAT

    • 一个彻底开源的,面向企业应用开发的大数据库集群
    • 支持事务、ACID、可以替代MySQL的加强版数据库
    • 一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群
    • 一个融合内存缓存技术、NoSQL技术、HDFS大数据的新型SQL Server
    • 结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品
    • 一个新颖的数据库中间件产品

    开始使用:

    先在服务器上创建三个数据库

    create database test_db1;
    create database test_db2;
    create database test_db3;
    View Code

     然后将配置 上面创建的三个库为 mycat 的数据源

    conf/schema.xml 设置 user 表 , 数据节点分别为上面设置的 dn1,dn2,dn3, 分片规则为id根据 auto-sharding-long 的规则划分到某个数据节点

    在 conf/rule.xml 中找到 auto-sharding-long 的规则

    接着在此文件中搜索 rang-long 会查到规则存放在 autopartition-long.txt

     conf/autopartition-long.txt (每个分区存500万条)

    解析为:

    id 1 - 5000000 时,放入数据节点索引0

    id 5000001 - 10000000  时,放入数据节点索引1

    id 1000001 - 15000000  时,放入数据节点索引2

    *** 如果插入的数据超过 1500万条时,就需要扩容了,再加个节点 ,依次类推

     启动 mycat:

     测试 mycat:

    应用中如何使用,官网已经说明了,直接连接 mycat 应用就好了,相当于 mycat 代理了 MySQL ,以后操作 MySQL 先经过 mycat 

    https://github.com/MyCATApache/Mycat-Server

    账号密码就是 conf/server.xml 配置的账号密码

     在 mycat 管理的 TESTDB 数据库下执行如下 SQL 语句

    # 创建测试 usercreate table user(id bigint not null primary key,name varchar(100)) comment "测试用户表";
    # 插入数据
    insert into user(id,name) values(1,'zhangsan');
    insert into user(id,name) values(2,'lisi');
    insert into user(id,name) values(3,'wanger');
    insert into user(id,name) values(5000001,'mazi');
    insert into user(id,name) values(10000001,'David');
    # 查询以下你插入的数据
    select * from user;
    View Code

    执行以上语句,会发现

    test_db1、test_db2、test_db3 这三个数据库都创建了一张 user 表;
    test_db1.user 表中有插入的前3条数据


    test_db2.user 表中有插入的第4条数据


    test_db3.user 表中有插入的第5条数据

     

    上面一个简单的插入查询就完成。

    Mycat高可用方案

     

  • 相关阅读:
    C++11 Lambda表达式
    C++ 容器操作
    C/C++ 动态存储分配 malloc calloc realloc函数的用法与区别
    使用visual C++测试
    设计模式有感
    smartProgram学习笔记
    C++析构函数
    C++指针和引用
    Python机器学习笔记:常用评估模型指标的用法
    Python机器学习笔记:不得不了解的机器学习面试知识点(1)
  • 原文地址:https://www.cnblogs.com/liugx/p/9936234.html
Copyright © 2020-2023  润新知