MongoDB整体数据迁移到Docker版MongoDB

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_23035335/article/details/99732787

本文记录的是本地window上MongoDB的数据迁移到Linux测试机上Docker版MongoDB的操作记录

1、本地MongoDB导出

使用命令:mongodump -o C:\Users\Administrator\Desktop\MongoDB\ 导出到指定的文件夹,注意我这里迁移是要导出所有的数据库里的文件,导出完毕后,会看到目标文件夹里有所有跟数据库同名的文件夹,文件夹里就是数据库里的数据内容

附加:mongodump 命令详解:
参数说明:

-h:指明数据库宿主机的IP(MongoDB在本机的可以不指定)
-u:指明数据库的用户名
-p:指明数据库的密码
-d:指明数据库的名字(不指定,则所有的数据库)
-c:指明collection的名字(不指定,则所有的集合)
-o:指明到要导出的文件夹

2、往Docker容器里的MongoDB导入

2.1 导入之前要先创建数据库,先创建对应数据库的用户,详见我的另一篇:https://blog.csdn.net/qq_23035335/article/details/99545757
Docker进入MongoDB:sudo docker exec -it 39adf1b67270 mongo

2.2 进入Docker里的MongoDB交互窗口
sudo docker exec -it 39adf1b67270(MongoDB的容器id) /bin/bash

2.3 执行mongorestore命令导入数据
mongorestore -u foot -p foot123 -d foot --dir /data/db/dump/foot/

mongorestore -u foot -p foot123 -d foot /data/db/dump/foot/
注意:这个后面跟的路径是MongoDB容器里的路径,第一步导出的数据文件,要上传到MongoDB容器和主机的映射路径里,MongoDB容器才能读到。会Docker的应该都知道,创建MongoDB容器的时候都指定了磁盘映射路径的。

附加:mongorestore 命令详解
参数说明:

-h:指明数据库宿主机的IP(MongoDB在本机的可以不指定)
-u:指明数据库的用户名(MongoDB开启了认证的就得指定用户名密码,且是对应数据库的用户名密码)
-p:指明数据库的密码
-d:指明数据库的名字
-c:指明collection的名字(直接导入整个数据库,就不指定)
--dir:指明导入文件的目录位置(可以省略)

猜你喜欢

转载自blog.csdn.net/qq_23035335/article/details/99732787