以下是在Ubuntu上进行MongoDB数据迁移的常见步骤,以mongodump/mongorestore工具为例(适用于全量或部分数据迁移):
# 导入MongoDB公钥
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
# 添加MongoDB源(以Ubuntu 22.04为例)
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu jammy/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-org-tools
# 导出单个数据库(BSON格式,适合全量迁移)
mongodump --uri="mongodb://源主机:27017" --db=源数据库名 --out=/path/to/backup
# 导出单个集合(JSON格式,适合部分数据)
mongodump --uri="mongodb://源主机:27017" --db=源数据库名 --collection=源集合名 --out=/path/to/backup
# 使用scp传输(需目标服务器IP和路径)
scp -r /path/to/backup user@目标主机:/path/to/destination
# 恢复整个数据库
mongorestore --uri="mongodb://目标主机:27017" --db=目标数据库名 /path/to/destination/源数据库名
# 恢复单个集合(需指定集合名)
mongorestore --uri="mongodb://目标主机:27017" --db=目标数据库名 --collection=目标集合名 /path/to/backup/源数据库名/源集合名.bson
# 连接目标数据库
mongosh --uri="mongodb://目标主机:27017"
# 切换数据库并查看数据
use 目标数据库名
db.目标集合名.find().limit(5) # 查看前5条数据
若源/目标数据库有认证,需在命令中添加--username
、--password
和--authenticationDatabase
参数,例如:
mongodump --uri="mongodb://用户名:密码@源主机:27017/admin" --db=源数据库名 --out=/backup
以上步骤参考自官方工具使用指南及Ubuntu环境适配方案。