Linux环境下MongoDB数据迁移主要有以下两种常用方式:
mongodump --host <源主机> --port <源端口> --db <数据库名> --out /备份路径
mongodump --host 192.168.1.100 --port 27017 --db mydb --out /data/backup
mongodump --host <源主机> --port <源端口> --db <数据库名> --collection <集合名> --out /备份路径
mongodump --host 192.168.1.100 --port 27017 --db mydb --collection users --out /data/backup
mongorestore --host <目标主机> --port <目标端口> --db <目标数据库名> /备份路径/<数据库名>
mongorestore --host 192.168.1.200 --port 27017 --db newdb /data/backup/mydb
mongorestore --host <目标主机> --port <目标端口> --db <目标数据库名> --collection <集合名> /备份路径/<数据库名>/<集合名>.bson
mongorestore --host 192.168.1.200 --port 27017 --db newdb --collection users /data/backup/mydb/users.bson
--drop
参数覆盖)。sudo systemctl stop mongod # Systemd系统
# 或 sudo service mongod stop # Init系统
使用rsync
将源服务器的MongoDB数据目录(默认/var/lib/mongodb
)同步到目标服务器:
sudo rsync -avz --progress /var/lib/mongodb/ <目标用户>@<目标IP>:/var/lib/mongodb/
sudo systemctl start mongod # Systemd系统
# 或 sudo service mongod start # Init系统
通过mongo
客户端连接目标服务器,查询数据是否完整:
mongo --host <目标IP> --port 27017
> use <数据库名>
> db.<集合名>.find()
选择建议:
mongodump/mongorestore
,支持灵活选择数据库/集合,无需停机。