mongodb撤销集合分片

mongodb撤销集合分片

2019年08月16日 16:39:41 WFkwYu 阅读数 31更多linux

分类专栏: 运维 mongodb 数据库 linuxmongodb

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处连接和本声明。数据库

本文连接:https://blog.csdn.net/qq_35663625/article/details/99680876运维

mongodb撤销集合分片

基本步骤:

  1. 中止全部有关和mongodb链接的应用程序
  2. 导出须要撤销的集合数据
  3. 禁用分片的自动平衡
  4. 删除该集合
  5. 导入集合数据
  6. 开启分片的自动平衡

一、中止全部有关和mongodb链接的应用程序(根据实际状况而定,此步忽略)spa

二、导出须要撤销的集合数据.net

$ ./bin/mongodump -h 127.0.0.1:30000 -u mongodb_backup_user -p mongodb_backup_passwd  -d dbname  -c collection  -o  /data/backup/mongod_bak/20190624-collection/

/data/mongodb/bin/mongodump -h 127.0.0.1:27017 -u myleguan -p myleguan2018  -d myleguan  -c dy_challenge  -o  /data/mongod_bak/dy_challenge/rest

三、禁用分片的自动平衡code

> use config
> db.settings.update( { _id: "balancer" }, { $set : { stopped: true } } , true );
> db.printShardingStatus()
  • 1
  • 2
  • 3

四、删除集合blog

> use admin
> sh.status();
> use nswcms
> show collections;
> db.表名.drop();              -----db.collection.drop();
> show collections;
> sh.status();
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

五、导入集合get

$ ./bin/mongorestore -h 127.0.0.1:30000 -u mongodb_restore_user -p mongodb_restore_passwd  -d dbname /data/backup/mongod_bak/20190624-collection/collection

/data/mongodb/bin/mongorestore -h 127.0.0.1:27017 -u myleguan -p myleguan2018 -d myleguan -c dy_challenge_bak /data/mongod_bak/dy_challenge/myleguan/dy_challenge.bson --authenticationDatabase myleguan

执行 db.printShardingStatus() ,查看分片概要

六、开启分片的自动平衡

> use admin
> sh.setBalancerState(true)
> sh.status()
  • 1
  • 2
  • 3

好了,这就是mongodb撤销集合分片的方法了,若有问题可与博主一块儿交流讨论!