温馨提示×

如何在Ubuntu上迁移MongoDB数据库

小樊
44
2025-08-11 20:59:47
栏目: 云计算

在Ubuntu上迁移MongoDB数据库,可按以下步骤操作,核心工具为mongodumpmongorestore

1. 安装MongoDB工具包

确保已安装mongodb-org-tools(含mongodump/mongorestore):

sudo apt update  
sudo apt install mongodb-org-tools  

2. 导出源数据库

  • 导出整个数据库

    mongodump --host <源数据库地址> --port <端口> --username <用户名> --password <密码> --db <源数据库名> --out <备份目录>  
    

    示例:

    mongodump --host 192.168.1.100 --db mydb --out /backup/mongodb/  
    
  • 导出单个集合

    mongodump --host <源地址> --db <数据库名> --collection <集合名> --out <备份目录>  
    

    示例:

    mongodump --host localhost --db testdb --collection users --out /backup/  
    

3. 传输备份数据

将备份目录通过scprsync传输到目标服务器:

scp -r /backup/mongodb/ <目标服务器IP>:/目标路径/  

4. 导入目标数据库

  • 导入整个数据库

    mongorestore --host <目标数据库地址> --port <端口> --username <用户名> --password <密码> --db <目标数据库名> <备份目录>/<数据库名>  
    

    示例:

    mongorestore --host 192.168.1.200 --db newdb /backup/mongodb/mydb  
    
  • 导入单个集合

    mongorestore --host <目标地址> --db <数据库名> --collection <集合名> <备份目录>/<数据库名>/<集合名>.bson  
    

5. 验证数据

  • 检查目标数据库集合数量:
    mongosh <目标地址> --eval "show collections"  
    
  • 对比源与目标的数据条数:
    mongosh <源地址> --eval "db.<集合名>.count()"  
    mongosh <目标地址> --eval "db.<集合名>.count()"  
    

注意事项

  • 若目标数据库已存在同名集合,需添加--drop参数覆盖(谨慎操作)。
  • 跨服务器迁移时,确保目标服务器已安装MongoDB且版本兼容。
  • 敏感数据迁移需通过加密通道(如SSH隧道)传输备份文件。

0