Mongodb 数据迁移

2019年9月18日13:42:00 发表评论 1,196 views
广告也精彩

最近公司有多台mongodb准备做集群,今日记录下A服务器到B服务器迁移过程,命令不用总忘,希望对大家也有帮助。

一、环境介绍

系统版本:ubuntu 16.04
系统内核:4.4.0-31-generic
数据库版本:mongodb 4.0
容器引擎:docker 1.12.6

二、数据备份

mongodump -h <hostname><:port> -d dbname -u username -p password -o dbdirectory 

参数详解:

-h:
MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017。
-d:
需要备份的数据库实例,例如:test
-o:
备份的数据存放位置,例如:c:\data\dump,当然该目录需要提前建立,在备份完成后,系统自动在dump目录下建立一个test目录,这个目录里面存放该数据库实例的备份数据。
-u 连接远程数据库的账户,若数据库设置了认证,需指定账户。
-p 连接远程数据库账户对应的密码

因为是内网迁移,所以这里可以在目标数据库存放服务器B上 进行原数据库的备份,要直接写原数据库所在的ip port。

mongodump -h 127.0.0.1:27017 -d mongodump-o /home/mongodump
# 我这边之前是没有设置用户名与密码,所以这边就取消了相关参数,直接导出的

这样备份完之后,会在/home/mongodump 下生成一个db名字的文件夹
Mongodb 数据迁移

数据恢复

mongorestore -h <hostname><:port> -d dbname <path>

参数详解:

#--host <:port>, -h <:port>:
MongoDB所在服务器地址,默认为: localhost:27017
#--db , -d :
需要恢复的数据库实例,例如:test,当然这个名称也可以和备份时候的不一样,比如test2
#--drop:
恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用哦!
#<path>:
mongorestore 最后的一个参数,设置备份数据所在位置,例如:c:\data\dump\test。
你不能同时指定 <path> 和 --dir 选项,--dir也可以设置备份目录。

现在已经在B服务器上了,所以-h可以略去,使用默认。

mongorestore -d fqcf  -u fqcf -p 123456 /data/configdb/fq-fortune

这里的path不能写/data/configdb,必须要加上数据库的名称fq-fortune

Mongodb 数据迁移

至此mongodb就迁移完了,

  • QQ精品交流群
  • weinxin
  • 微信公众号
  • weinxin
广告也精彩
admin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: