MySQL Fabric Sharding命令详解

使用MySQL FabricSharding功能,需要运用如下命令,这些命令在官方的手册中没有详尽的说明,

在这里结合实际的使用来逐一说明各个命令的使用方法。

1、使用Fabric的时候首先要先建立组群,使用mysqlfabric group create组群名称
例如mysqlfabric group create group_id-1
组群至少要建立3个,2个用于数据分片Sharding,一个用于全局更新。
 
2、建立好组群后要向组群里添加服务器,使用mysqlfabric group add 组群名称 服务器地址
例如mysqlfabric group add group_id-1 localhost:13001
 
3、添加好服务器以后,将组群里面的任意一台服务器自动升级成为主服务器
使用mysqlfabric group promote 组群名称
例如mysqlfabric group promote group_id-1
 
准备工作到以上为止,接下来是关于Sharding功能的定义和使用。
 
4、定义一个Sharding映射,这里面包括三个内容(Sharding类型,全局组群和生成唯一的映射ID
使用mysqlfabric sharding create_definition Sharding 全局组群名称
例如mysqlfabric sharding create_definition RANGE group_id-global
Sharding类型包括RANGE, HASH, LIST等等,执行结果会返回一个result值,这个值就是生成的唯一的映射ID
 
5、将需要进行Sharding的表加入Sharding映射,使用
mysqlfabric sharding add_table 映射ID 带有数据库名的表名称 Sharding键(列名)
例如mysqlfabric sharding add_table 1 employees.employees emp_no
 
6、向该表内添加Shards,使用mysqlfabric sharding add_shard 映射ID "分片组名称/Sharding键(列名)的值, 分片组名称/ Sharding键(列名)的值[, 分片组名称/ Sharding键(列名)的值]" --state=ENABLED
例如mysqlfabric sharding add_shard 1 "group_id-1/1, group_id-2/100000, group_id-2/200000" --state=ENABLED 1里面是emp_no 1~100000的数据45
至此,就可以使用应用程序通过连接器连接至Fabric进行数据操作了。
 
7Shard移动
Fabric支持数据从一个Shard移动到另一个Shard,使用mysqlfabric sharding move_shard 需要移动的ShardID 新组群名称
例如mysqlfabric sharding move_shard 1 group_id-MOVE ShardID可以通过 select * from fabric.shards 来查看。
 
8、查看给定的Shard键分布在哪些Shard上面, 使用mysqlfabric sharding lookup_servers Shard的对象表 Shard键的值
例如mysqlfabric sharding lookup_servers employees.employees 4
 
9、分割Shard
Fabric支持将已经分片化的Shard再次进行分片处理,使用mysqlfabric sharding split_shard 对象ShardID 组群名称 --split_value=Sharding键(列名)的分割值
例如mysqlfabric sharding split_shard 2 group_id-SPLIT --split_value=150
 
10、显示所有的Shard映射定义,使用mysqlfabric sharding list_definitions
 
11、查看给定表的Sharding信息。使用mysqlfabric sharding sharding lookup_table 数据库名.表名
例如mysqlfabric sharding lookup_table employees.employees_tmp
 
12、使Shard无效,使用mysqlfabric sharding disable_shard ShardID
例如mysqlfabric sharding disable_shard 8
 
13、使Shard有效,使用mysqlfabric sharding enable_shard ShardID
例如mysqlfabric sharding enable_shard 8
 
14、对Shard里面的表进行修剪,将指定表里不符合Shard定义的数据删除,使用mysqlfabric sharding prune_shard 数据库名.表名
例如mysqlfabric sharding prune_shard employees.employees_tmp
 
15、删除Shard,使用mysqlfabric sharding remove_shard ShardID
例如mysqlfabric sharding remove_shard 8
 
16、从Shard映射中删除表,使用mysqlfabric sharding remove_table数据库名.表名
例如mysqlfabric sharding remove_table employees.employees
 
17、删除Shard映射,使用mysqlfabric sharding remove_definition Shard映射ID
例如mysqlfabric sharding remove_definition 6

注意删除Shard的时候一定按照 使Shard无效->删除Shard->删除表->删除映射的顺序执行,否则会报错。

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30168883/viewspace-1473344/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/30168883/viewspace-1473344/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值