在 Debian 系统上迁移 MongoDB,常见场景包括迁移到另一台 Debian 服务器、升级版本或迁移数据目录。下面按通用、可靠的方式给你一个完整指南,适用于大多数生产/测试环境。
mongod --version
mongo --version
查看数据目录和配置文件:
cat /etc/mongod.conf
重点关注:
storage.dbPath(数据目录,默认 /var/lib/mongodb)systemLog.pathnet.port无论哪种迁移方式,先备份。
mongodump --out /backup/mongodb/$(date +%F)
或指定数据库:
mongodump --db mydb --out /backup/mongodb/
mongodump / mongorestore(最通用 ✅)mongodump --out /backup/mongodb
拷贝到目标服务器:
scp -r /backup/mongodb user@target:/backup/mongodb
导入 MongoDB 官方 GPG 和源(示例为 6.0):
curl -fsSL https://www.mongodb.org/static/pgp/server-6.0.asc | \
gpg --dearmor -o /usr/share/keyrings/mongodb-server-6.0.gpg
echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-6.0.gpg ] \
https://repo.mongodb.org/apt/debian $(lsb_release -cs)/mongodb-org/6.0 main" \
| tee /etc/apt/sources.list.d/mongodb-org-6.0.list
apt update
apt install -y mongodb-org
systemctl start mongod
systemctl enable mongod
mongorestore /backup/mongodb
恢复指定库:
mongorestore --db mydb /backup/mongodb/mydb
systemctl stop mongod
rsync -av /var/lib/mongodb/ target:/var/lib/mongodb/
拷贝配置文件(可选):
scp /etc/mongod.conf target:/etc/mongod.conf
chown -R mongodb:mongodb /var/lib/mongodb
systemctl start mongod
常见需要同步的内容:
/etc/mongod.conf
以及:
admin 库会随数据一起迁移systemctl status mongod
mongosh
# 或
mongo
show dbs
db.stats()
chown -R mongodb:mongodb /var/lib/mongodb
查看日志:
journalctl -u mongod
cat /var/log/mongodb/mongod.log
mongodump,再 mongorestore| 场景 | 推荐方式 |
|---|---|
| 跨服务器 | mongodump + mongorestore ✅ |
| 升级版本 | mongodump + mongorestore ✅ |
| 同版本、同架构 | 拷贝数据目录 ⚡ |
| 生产环境 | 先备份,再迁移 ✅ |
如果你愿意,可以告诉我:
我可以给你精确到命令级别的迁移方案。