使用mongodump和mongostore对mongodb数据库迁移实践总结

190 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

环境

  • windows server2012
  • mongodb:version v4.2.1

如图为原mogodb数据库data存储数据的大小,约为:46.9GB 在这里插入图片描述 如果迁移整个数据库的数据推荐使用mongodump和mongostore,这是mongdb官方文档中关于它们的迁移说明:docs.mongodb.com/v2.2/tutori…

试例:

1、此操作在我要导入数据库的服务器上,使用powershell,cd到mongdb安装的bin目录下,执行如下命令,--host为原mongodb数据库的服务器名称(IP地址或域名),--port为mongdb数据库服务器开放的端口号,-db为要导出的数据库名称(我实践的时候是将服务器中mongo数据库中所用的库都迁移的,算是迁移整个Mongodb数据库了,所以没有指定,这里为了说明参数,--username是数据库的用户名(这里我使用的是admin下的超级用户,可以操作任何库),--password为其用户的密码, --out导出以后存储的文件夹

.\mongodump --host 192.168.1.111 --port 27017 --db book_other_crawl --username myadmin --password sec --out "D:\mongodbDump"

如下图可以看出导出的数据库总共的bson数据有117GB 在这里插入图片描述 2、执行下面命令恢复mongodump备份的数据库,参数--host为要存储mongodb数据库的服务器名称(IP地址或者域名,这里我使用的就是我上一步备份数据的服务器的mongodb),--port为mongodb数据库开放的端口号,--username为数据库的用户名,--password为密码,"D:\mongodbDump"是刚才备份数据库的目录。

.\mongorestore --host 127.0.0.1 --port 27017 --username myadmin --password sec "D:\mongodbDump"

从下图可以看出总共恢复了48068565条document。大约总共耗时:5小时50分钟,备份耗时:3小时30分钟,恢复存储耗时:2小时20分钟 在这里插入图片描述