天天看點

mongodb撤銷集合分片 mongodb撤銷集合分片

mongodb撤銷集合分片

2019年08月16日 16:39:41 WFkwYu 閱讀數 31更多

分類專欄: 運維 mongodb 資料庫 linux

版權聲明:本文為部落客原創文章,遵循 CC 4.0 BY-SA 版權協定,轉載請附上原文出處連結和本聲明。

本文連結:https://blog.csdn.net/qq_35663625/article/details/99680876

mongodb撤銷集合分片

基本步驟:

  1. 停止所有有關和mongodb連接配接的應用程式
  2. 導出需要撤銷的集合資料
  3. 禁用分片的自動平衡
  4. 删除該集合
  5. 導入集合資料
  6. 開啟分片的自動平衡

1、停止所有有關和mongodb連接配接的應用程式(根據實際情況而定,此步忽略)

2、導出需要撤銷的集合資料

$ ./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/

3、禁用分片的自動平衡

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

複制

  • 1
  • 2
  • 3

4、删除集合

> use admin
> sh.status();
> use nswcms
> show collections;
> db.表名.drop();              -----db.collection.drop();
> show collections;
> sh.status();           

複制

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

5、導入集合

$ ./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() ,檢視分片概要

6、開啟分片的自動平衡

> use admin
> sh.setBalancerState(true)
> sh.status()           

複制

  • 1
  • 2
  • 3
好了,這就是mongodb撤銷集合分片的方法了,如有問題可與部落客一起交流讨論!