您的位置:首页 > 数据库 > Mongodb

mongodb撤销集合分片

2019-08-16 16:39 1261 查看
版权声明:本文为博主原创文章,遵循 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/
3、禁用分片的自动平衡
> use config
> db.settings.update( { _id: "balancer" }, { $set : { stopped: true } } , true );
> db.printShardingStatus()
4、删除集合
> use admin
> sh.status();
> use nswcms
> show collections;
> db.表名.drop();              -----db.collection.drop();
> show collections;
> sh.status();
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

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

6、开启分片的自动平衡
> use admin
> sh.setBalancerState(true)
> sh.status()

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: