如何将本地Mongodb传到服务器上

服务器 0

概述

总体步骤分三步:dump本地数据库->上传->导入

dump本地数据库

打开cmd,将目录切换到Mongodb。我这里出现了cd之后目录不显示cd后的情况,通过dir查看cd后的文件夹中的所有内容(因为担心只是不显示切换后的目录,实际上切换成功),发现确实没有切换成功。参考网上资料后解决了。如下图

输入命令

mongodump -h 127.0.0.1 -o E:

更加完整的语句格式如下

mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -o 文件存在路径 

参考了文章mongoDB数据的批量备份、还原、导入与导出_mongodump 多个表-CSDN博客

对比发现,我导出的是Mongodb中的所有数据库,dump成功的cmd界面如图

打开mongodb文件夹,能够看到已被dump的文件(红框里的四个),跟cmd界面中的一样。

上传

使用Winscp,将本地文件上传到服务器。WinSCP是一个Windows环境下使用SSH的开源图形化SFTP客户端。同时支持SCP协议。它的主要功能就是在本地与远程计算机间安全的复制文件。WinSCP可以执行所有基本的文件操作,例如下载和上传。同时允许为文件和目录重命名、改变属性、建立符号链接和快捷方式。

安装winscp指路文件传输工具WinSCP下载安装教程_winscp安装教程-CSDN博客 非常详细的文章!(大赞)

安装完成之后,左侧为本机操作界面,右侧为服务器操作界面。在左侧的目录中找到之前dump的文件,选中要传到服务器上的文件,我这里直上传folkmusic这一个数据库,所以选中它

然后点击左上角的“上传”

选择好要上传到服务器的哪个位置,我要上传到MetaFolk_mongodb文件夹里,所以就在远程目录那里填写该路径,如下图:

完成之后打开该文件夹查看,发现数据库上传成功,如下图

导入

输入下面的命令,将二进制数据库文件用mongorestore还原成名为tank的数据库

mongorestore -d tank /home/ubuntu/MetaFolk_mongodb

现在验证一下是否成功。

用mongosh连接数据库(为什么不是mongo呢?因为mongodb6.0以后废除了mongo命令,转而使用mongoshell操作)接着就是mongodb的常规操作:show dbs->use tank->show collections,然后就能看到下图:

红框中的重要命令(落了一个,在中间use tank,悲)黄色框就是我要上传的数据库中的集合。

如果希望把tank改成folkmusic,用一下db.copyDatabase()的命令,然后删除tank数据库即可(我懒得改名了,大家有需要上网一搜,步骤很简单)。

以上就是将本地mongodb数据库传到服务器的全过程,欢迎讨论和批评~

也许您对下面的内容还感兴趣: