温馨提示×

MongoDB数据迁移在Ubuntu上怎么进行

小樊
58
2025-08-23 23:51:40
栏目: 云计算

在Ubuntu上进行MongoDB数据迁移,常用方法包括使用工具命令和手动复制数据文件,以下是具体步骤:

一、使用工具命令迁移

1. 安装工具(如未安装)

# 导入MongoDB公钥
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
# 添加源
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu $(lsb_release -sc)/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
# 更新并安装工具
sudo apt update
sudo apt install -y mongodb-database-tools

2. 导出数据

  • 导出整个数据库

    mongodump --uri="mongodb://localhost:27017" --db <数据库名> --out <输出目录>
    

    示例:mongodump --db mydb --out /backup/mydb

  • 导出指定集合

    mongodump --uri="mongodb://localhost:27017" --db <数据库名> --collection <集合名> --out <输出目录>
    

    示例:mongodump --db mydb --collection users --out /backup/mydb

3. 导入数据

  • 导入整个数据库

    mongorestore --uri="mongodb://localhost:27017" --db <目标数据库名> <备份目录>/<数据库名>
    

    示例:mongorestore --db newdb /backup/mydb

  • 导入指定集合

    mongorestore --uri="mongodb://localhost:27017" --db <目标数据库名> --collection <目标集合名> <备份目录>/<数据库名>/<集合名>.bson
    

    示例:mongorestore --db newdb --collection newusers /backup/mydb/users.bson

二、手动复制数据文件(适用于同服务器或可信网络)

  1. 停止MongoDB服务

    sudo systemctl stop mongod
    
  2. 复制数据文件

    sudo rsync -avz /var/lib/mongodb/ <目标服务器IP>:/var/lib/mongodb/
    
  3. 启动服务并验证

    sudo systemctl start mongod
    mongo --eval "db.adminCommand('listDatabases')"  # 检查数据是否迁移成功
    

三、注意事项

  • 权限问题:确保目标目录有读写权限,可通过chmod设置。
  • 版本兼容:工具版本需与MongoDB服务器版本一致,可通过mongodump --version验证。
  • 网络传输:跨服务器迁移时,建议使用scprsync加密传输,避免数据泄露。

以上方法参考自,可根据实际需求选择合适方式。

0