Mycat实战之离散分片】的更多相关文章

1 枚举分片(customer表) #### 1.1 修改配置信息加载配置文件 datanode hash-int vi partition-hash-int.txt db1=0 db2=1 [root@mysqldb conf]# 1.2 insert演示路由信息以及mycat日志 mysql> insert into customer(id,customer_id,datanode) values(2,2,'db2'); Query OK, 1 row affected (0.00 sec)…
1 按照日期(天)分片: 从开始日期算起,按照天数来分片 例如,从2017-11-01,每10天一个分片且可以指定结束日期 注意事项:需要提前将分片规划好,建好,否则有可能日期超出实际配置分片数 1.1 修改配置文件 #修改rule.xml 添加按日期分片的的分配规则 vi rule.xml <function name="sharding-by-date" class="org.opencloudb.route.function.PartitionByDate&quo…
实践扩容 1.要求: travelrecord 表定义为10个分片,尝试将10个分片中的 2 个分片转移到第二台MySQL上, 并完成记录要求,最快的数据迁移做法,中断业务时间最短 2.针对分片以及迁移方式 mycat中分片可以理解为dbn 而dbn可以是单独datahost中的某个database, 也可以是一个datahost上的mysql实例中多个database. 迁移方式: 1.如果dbn是对应mysql实例中唯一database,迁移可以采用 mha+vip 方式快速迁移, 这种方式…
ER分片介绍 以mycat逻辑库里面自带的例子,例如客户(CUSTOMER)跟订单(orders)以及订单条目(orders_item),订单条目依 赖订单表,订单表依赖客户,这样客户与订单以及订单条目之间存在依赖关系,这类似业务的切分可以抽象出合适的切分 规则,比如根据用户ID切分,其它相关的表都依赖于用户ID,再或者根据订单ID进行切分,总之部分业务总会可以抽象出 父子关系的表.这类表适用于ER分片表,子表的记录与所关联的父表记录存放在同一个数据分片上,避免数据Join跨库操 作,以orde…
1.程序指定分区的分片 此规则是在运行阶段有应用自主决定路由到那个分片. 此方法为直接依据字符子串(必须是数字)计算分区号(由应用传递參数.显式指定分区号). 2,加入配置文件 在function.xml里面进行配置: <function name="sharding-by-substring-040302" class="org.opencloudb.route.function.PartitionDirectBySubString"> <pro…
1. 修改rule.xml hash分片规则 主要改两个地方: vi rule.xml 分片数量,这里改为3 对应 三个库 hash规则 默认是id列 这里为 PROVINCE 2. reload 加载schema配置文件 reload之前show table 是查不到新表的 连接管理端口 9066 reload 再次show tables 这次能查到了 3. 建表,插入数据 验证路由 create table t_vote(id int,province varchar(100)); inse…
第一种: 优点:支持进一步分片 缺点:schema配置繁琐 注解式  /*!mycat:schema=[schemaName] */   注意:这在navicat 里面是会报错的,请用命令行登陆mycat 来测试 mysql> explain /*!mycat:schema=USER1 */ select * from order; 可以在每个sql语句前面添加此注解,Mybatis 可以重写 MappedStatement  的 getBoundSql 来添加. 不管使用什么方式,感觉这都很搓…
1.1    安装环境 1.jdk:要求jdk必须是1.7及以上版本 2.Mysql:推荐mysql是5.5以上版本 1.2  安装步骤 Mycat有windows.linux多种版本.本教程为linux安装步骤,windows基本相同. 第一步:下载Mycat-server-xxxx-linux.tar.gz 第二步:将压缩包解压缩.建议将mycat放到/usr/local/mycat目录下. 第三步:进入mycat目录,启动mycat ./mycat start 停止: ./mycat st…
1.安装jdk1.72.连接实际mysql数据库 用命令行工具或图形化客户端,连接mysql,创建DEMO所用三个分片数据库:(默认schema.xml中的配置需要三个库) CREATE database db1; CREATE database db2; CREATE database db3;4.解压Mycat-server-1.X.X.X-20150105144205-Linux.tar.gz 到/usr/local/mycat4.修改 mycat配置文件 server.xml:这里配置客…
1.案例场景: Mycat 后面接一个 Oracle 实例与一个 MySQL 实例,假设用户表,订单表,转账记录表, Oracle 字符集为 GBK 的,MySQL 字符集则要求 UTF8的 完成用户表与订单表到 MySQL 的迁移过程,要求导数据是通过命令行连接 Mycat来完成的 同时操作如下过程: 1. 在Mycat 里查询转账记录表,查询 OK 2. 在Mycat 里查询用户表,查询 OK 2.环境准备 oracle 11gr2 10.10.0.23 1521 mysql 5.6 192…