【MongoDB】对现有集合(collection)进行分片

对于已经部署集群的mongodb,当有新的collection需要分片时候:比如我的数据库是 cmdata,原来无需分片,现在数据很大,需要分片。

用admin用户登陆 mongo数据库,运行命令如下:

1.打开mongo shell(我的mongod数据库端口是27022;在本地打开的mongo shell,故省略 --ip)。

D:\MongoDB\Server\3.4\bin>mongo --port  27022

2.切换到admin数据库。

use admin

3.授权。

db.auth("admin", "**************")

4.对数据库启动分片功能;如果此前已经开启了,请跳过此步。

sh.enableSharding("cmdata")

5. 我使用哈希碎片键分片,所以要建立hash索引;此处是在集合smssim字段上建立该索引。

db.sms.ensureIndex({sim:"hashed"})

6.对集合进行分片,对sms集合进行分片,分片键是smssim字段。

sh.shardCollection("cmdata.sms", {sim:"hashed"})

 


版权声明:本文为chechengtao原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。