场景:测试过程中需要升级mongo版本或者从一台服务器同步mongo db 和collection到新搭建服务器mongo下,所以涉及到将一台服务器导出数据,然后导入到另一台,因为新搭建服务器采用Docker部署,所以涉及到Docker相关操作。
一、旧服务器导出的mongo数据
#无密码认证导出
mongodump -h 127.0.0.1 --port 27017 -d tracker -o /mnt
#有密码导出
mongodump -h 127.0.0.1 -d tracker -u root -p \jimi@123 --authenticationDatabase admin -o /mnt
二、从旧服务器容器Copy文件到物理机目录
docker cp a080dbd95706:/mnt/tracker /mnt
三、从新服务器物理机的/mnt目录导入到待导入容器/mnt
docker cp /mnt/tracker a080dbd95706:/mnt
四、新服务器Mongo容器内导入数据
#无密码方式
mongorestore -h 127.0.0.1 -d tracker /mnt/tracker
#有密码方式
mongorestore -u root -p jimi@123 -h 127.0.0.1:27017 -d tracker /mnt/tracker --authenticationDatabase admin