72

MongoDB导入导出备份恢复实践

 5 years ago
source link: https://wenshixin.gitee.io/blog/2019/04/21/MongoDB导入导出备份恢复实践/?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

毕业设计使用机器学习分类算法来训练新闻分类模型,从 MongoDB 数据库读取爬虫获取的新闻文本数据(300多万条数据),自己笔记本性能有限,6个机器学习分类算法搞了一天只跑出来一个 LR 的,所以想借助基友大学实验室 2 万多的主机来跑模型,但是考虑到他本地并没有装 MongoDB 的环境,我就想把本地的 MongoDB 数据库中的数据上传到自己的阿里云服务器上,方便后面使用他的主机(哈哈~)。在云服务器上搭建好 MongoDB 的环境,接下来就是把数据导入进去了,也学习下 MongoDB 的导入导出备份恢复。

MongoDB 的导入导出只对于单个表,而我想把整个数据库都导出来,只能使用 MongoDB 的备份功能。

这里需要注意的是 MongoDB 默认安装好是没有设置密码的,可以直接免密登登录,我本地的 MongoDB 是设置了密码,服务器上的为了方便使用临时未设置密码。

下面就简单介绍备份(mongodump)、恢复(mongorestore)、导出(mongoexport)、导入(mongoimport)这四个命令和自己的实践。

备份命令:

详情见MongoDB官方文档 MongoDB官方文档mongodump命令

基本语法: mongodump -h dbhost -d dbname -o dbdirectory

参数说明:

-h: MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017

-d: 需要备份的数据库实例,例如:test

-o: 备份的数据存放位置,目录要提前建好

--port:端口号

下面这几个参数是设置了用户密码才会用到,类似于 MySQL 数据库

-u:用户名

-p:密码

--authenticationDatabase admin:验证用户名密码是否正确,否则会报权限错误

下图为我本地设置过用户名和密码的备份 news 数据库实践

UVZJrm7.png!web

恢复命令

详情见MongoDB官方文档 MongoDB官方文档mongorestore命令

基本语法: mongorestore -h dbhost -d dbname --dir dbdirectory

参数说明:

-h: MongoDB所在服务器地址

-d: 需要恢复的数据库实例,例如:test,当然这个名称也可以和备份时候的不一样,比如test2

--dir: 备份数据所在位置

其他参数这里就不多说了

下图为在我服务器上恢复 news 数据库的实践

I7JRjab.png!web

导出命令

详情见MongoDB官方文档 MongoDB官方文档mongoexport命令

基本语法: mongoexport -d dbname -c collectionname -o file --type json/csv -f field

参数说明:

-d :数据库名

-c :collection名

-o :输出的文件名

--type : 输出的格式,默认为json,,可以不用加,指定文件名的时候就指定文件格式

-f :输出的部分字段,如果-type为csv,则需要加上-f “字段名”

下图为我本地设置过用户名和密码的导出 news 数据库中的 test 表实践

JfmEB3i.png!web

导入命令

详情见MongoDB官方文档 MongoDB官方文档mongoimport命令

基本语法: mongoimport -d dbname -c collectionname --file filename --headerline --type json/csv -f field

参数说明:

-d :数据库名

-c :collection名

--type :导入的格式默认json

-f :导入的字段名

--headerline :如果导入的格式是csv,则可以使用第一行的标题作为导入的字段

--file :要导入的文件

下图为在我服务器上导入 test 表的实践

NJFBju2.png!web

参考文章:

mongodb 备份、还原、导入、导出简单操作

MongoDB官方文档mongodump命令

MongoDB官方文档mongorestore命令

MongoDB官方文档mongoexport命令

MongoDB官方文档mongoimport命令

本文作者:Wizey

本文链接:http://wenshixin.gitee.io/blog/2019/04/21/MongoDB导入导出备份恢复实践/

版权声明:本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!

VrIr6j.png!web

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK