一、工具准备
拷贝mongodb里面的数据库需要用到工具mongodump和mongorestore。下载mongodb时是没有下载上述工具的,可以从这里直接下载解压使用: MongoDB Database Tools
二、数据拷贝
转到上述工具解压的路径,使用如下命令进行指定数据库的拷贝:
mongodump -h dbhost -d dbname -o dbdirectory
# 说明
-h:
MongoDB 所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017
-d:
需要备份的数据库实例,例如:test
-o:
备份的数据存放位置,例如:c:\data\dump,当然该目录需要提前建立,在备份完成后,系统自动在dump目录下建立一个test目录,这个目录里面存放该数据库实例的备份数据。
三、数据转移与恢复
将上述使用mongodump命令生成的文件复制到另外的主机
在另一台主机上执行:
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也可以设置备份目录。
--dir:
指定备份的目录
你不能同时指定 <path> 和 --dir 选项。
这样将会在另外的主机的mongodb下恢复拷贝的数据库。
四、mongodb常用命令
激活mongodb环境
> mongod
激活环境后使用mongodb
> mongo
查看当前有哪些数据库
> show dbs
查看当前连接在哪个数据库下面,可以直接输入db
> db
切换到test数据库下面
> use test
想查看当前数据库下有哪些表collection
> show collections