环境
- windows server2012
- mongodb:version v4.2.1
如图为原mogodb数据库data存储数据的大小,约为:46.9GB
如果迁移整个数据库的数据推荐使用mongodump和mongostore,这是mongdb官方文档中关于它们的迁移说明:https://docs.mongodb.com/v2.2/tutorial/backup-databases-with-binary-database-dumps/
试例:
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分钟