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撤銷集合分片
基本步驟:
- 停止所有有關和mongodb連接配接的應用程式
- 導出需要撤銷的集合資料
- 禁用分片的自動平衡
- 删除該集合
- 導入集合資料
- 開啟分片的自動平衡
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撤銷集合分片的方法了,如有問題可與部落客一起交流讨論!