mongodb集群数据备份和恢复
备份命令
直接在新的mongodb节点上执行dump命令,把远程服务器上的数据库下载到本地
./mongodump --forceTableScan -h 192.168.19.232 --port 27017 -u mydb -p mydb@123 -d mydb -o /root/mydb
恢复数据库命令
./mongorestore -h 192.168.30.99 --port 37017 -d mydb --drop /root/mydb/mydb
设置数据库和表分片
1.数据库和表不设置分片的话,默认都是不会进行分片的
2.数据库设置分片
use admin
db.runCommand({enablesharding:"mydb"})
3.对表进行分片
4.表里面如果已经有数据也可以进行分片
对新表进行设置
db.runCommand({shardcollection:"mydb.asset_acceptance_info",key:{_id:'hashed'}})
对已经有数据的表设置
db.runCommand({shardcollection:"mydb.asset_acceptance_info",key:{"_id":1}})
表重命名rename
1. 分片表不能直接rename

把asset_info_result重命名为asset_info_result_bak20220327 /data/tianyiyun/mongodb-linux-x86_64-amazon-3.6.2/bin/mongo --port 37017 db.createCollection("asset_info_result_bak20220327") db.asset_info_result_bak20220327.ensureIndex({"_id":1}) db.runCommand({shardcollection:"mydb.asset_info_result_bak20220327",key:{_id:'hashed'}}) use mydb db.asset_info_result.find().forEach(function(x){db.asset_info_result_bak20220327.insert(x)} db.asset_info_result.aggregate({$match: {}}, {$out: 'asset_info_result_bak20220327'})
2.使用备份方式
1.备份原表
/data/tianyiyun/mongodb-linux-x86_64-amazon-3.6.2/bin/mongodump -h 192.168.0.103:37017 -uadmin -p2022 --authenticationDatabase admin -d mydb -c asset_info_result -o /data/tianyiyun/backup2/
如果没有指定 -o输出目录参数,那么就会在mongodump所在的目录自动生成一个dump子目录用来保存被导出来的数据
2.直接还原-自动创建新表
/data/tianyiyun/mongodb-linux-x86_64-amazon-3.6.2/bin/mongorestore -h 192.168.0.103:37017 -uadmin -p2022 --authenticationDatabase admin -d mydb -c asset_info_result_bak20220327 /data/tianyiyun/backup2/mydb/asset_info_result.bson
{service_belongs_id:"2021102718160399715"}
本文来自博客园,作者:不懂123,转载请注明原文链接:https://www.cnblogs.com/yxh168/p/15847935.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2020-01-27 kubeadm部署kubernetes集群