一、Mongodb的导入与导出
1.1、导出工具:mongoexport
概念:
mongoDB中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件。可以通过参数指定导出的数据项,也可以根据指定的条件导出数据。
语法:
mongoexport -d dbname -c collectionname -o file --type json/csv -f field
参数说明:
-d :数据库名
-c :collection名
-o :输出的路径和文件名
--type : 输出的格式,默认为json
-f :输出的字段,如果-type为csv,则需要加上-f "字段名"
例子:
[root@vm-test1~]# mongoexport -d mongotest -c users -o /home/users.json --type json -f "_id,user_id,user_name,age,status"
[root@vm-test1 ~]# mongoexport -d test -c user -o /data/user.json --type json
2017-09-08T12:20:05.654+0800 connected to: localhost
2017-09-08T12:20:05.667+0800 exported 22 records
1.2、导入工具:mongoimport
语法:
mongoimport -d dbname -c collectionname --file filename --headerline --type json/csv -f field
参数说明:
-d :数据库名
-c :collection名
--type :导入的格式默认json
-f :导入的字段名
--headerline :如果导入的格式是csv,则可以使用第一行的标题作为导入的字段
--file :要导入的文件
示例:
新建库import,执行导入命令
[root@vm-test1 data]# mongoimport -d import -c user --file user.json --type json
2017-09-08T12:27:34.944+0800 connected to: localhost
2017-09-08T12:27:35.282+0800 imported 22 documents
进入mongo中查看数据导入成功
二、Mongo备份与恢复
2.1备份工具: mongodump
语法:
mongodump -h host -d dbname -o directory
mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -o 文件存在路径
Eg: # mongodump -d test -o /data/
参数说明:
如果想导出所有数据库,可以去掉-d
-h:MongDB所在服务器地址,如:127.0.0.1,也可以指定端口号:127.0.0.1:27017
-d:需要备份的数据库名称,如:db_test
-o:备份的数据存放位置,如:~\dump,当然该目录需要提前建立,在备份完成后,系统自动在dump目录下建立一个db_test目录,这个目录里面存放该数据库实例的备份数据。
2.2 恢复工具 mongorestore
概念:
mongorestore是Mongodb从备份中恢复数据的工具,它主要用来获取mongodump的输出结果,并将备份的数据插入到运行的Mongodb中。
语法:
mongorestore -h host -d dbname --directoryperdb dbdirectory
Eg: # mongorestore --host=10.0.0.25 --port=27017 --db ztjy --dir=ztjy/
参数说明:
-h:MongoDB所在服务器地址
-d:需要恢复的数据库名称,如:db_test,当然这个名称可以不同于备份的时候,比如new_db
--directoryperdb:备份数据文件所在位置,如:~\dump\db_test(这里之所以要加db_test子目录,从mongoretore的help中的--directoryperdb,可以读出“每一个db在一个单独的目录”。)