一、数据导入与导出
1.1 导出
mongoexport -d watergas -c messageInfo -o /data/db/messageInfo111.json
參数说明:
-d 指明使用的库, 本例中为” watergas”
-c 指明要导出的集合, 本例中为”messageInfo ”
-o 指明要导出的文件名称, 本例中为”/data/db/messageInfo111.json”
-h server地址
如果需要权限认证,则需要加入-u、-p、--authenticationDatabase等参数
Linux下和window下使用方式一样


1.2 导入
mongoimport -d watergas -c upgradeTaskInfo --file /data/db/upgradeTaskInfo.json
參数说明:
-d 指明使用的库, 本例中为” watergas”
-c 指明要导出的集合, 本例中为”messageInfo ”
--file 指明要导入的文件名称, 本例中为”/data/db/upgradeTaskInfo.json”
-h server地址

二、数据库备份与还原
2.1 备份
mongodump -h dbhost -d dbname -o dbdirectory
參数说明:
-h:MongDB所在server地址,比如:127.0.0.1,也能够指定port号:127.0.0.1:27017
-d:须要备份的数据库实例,比如:watergas
-o:备份的数据存放位置,比如:/data/db/watergasddata。当然该文件夹须要提前建立,在备份完毕后,系统自己主动在watergasddata文件夹下建立一个watergas文件夹,这个文件夹里面存放该数据库实例的备份数据。

2.2 还原
mongorestore -h dbhost -d dbname –directoryperdb dbdirectory
參数说明:
-h:MongoDB所在server地址
-d:须要恢复的数据库实例,比如:test,这个名称也能够和备份时候的不一样,比方test2
–directoryperdb:备份数据所在位置,比如:/data/db/watergas/watergas库还原到。将watergas库还原到watergas1下
–drop:恢复的时候,先删除当前数据。然后恢复备份的数据。就是说,恢复后。备份后加入改动的数据都会被删除

三、权限认证相关

注意!!!!: 数据库迁移需要使用备份(mongodump)与恢复(mongorestore)语法,如果数据库没有开启权限验证,则直接使用命令即可;
如果开启了验证登录,是无法直接备份和恢复数据库的,报如下错误:error reading database: command listCollections requires authentication
解决方案
添加:-u <username> -p=<password>
添加:--authenticationDatabase admin

Mongo的账户是存储在数据库表里面的,比如这里创建的leanote用户,是存储在了leanote表当中的;管理员账户一般是存在在admin当中的
