在Ubuntu上进行MongoDB数据迁移,常用方法包括使用工具命令和手动复制数据文件,以下是具体步骤:
# 导入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
导出整个数据库
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
导入整个数据库
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
停止MongoDB服务
sudo systemctl stop mongod
复制数据文件
sudo rsync -avz /var/lib/mongodb/ <目标服务器IP>:/var/lib/mongodb/
启动服务并验证
sudo systemctl start mongod
mongo --eval "db.adminCommand('listDatabases')" # 检查数据是否迁移成功
chmod
设置。mongodump --version
验证。scp
或rsync
加密传输,避免数据泄露。以上方法参考自,可根据实际需求选择合适方式。