**
步骤一:数据备份与恢复
**
1)数据备份
[root@mongodb51 ~]# mongodump --host 192.168.4.51 --port 27077
//不指定备份哪个库,默认备份所有,不指定目录,自动生成dump目录,备份的数据在这个里面
[root@mongodb51 ~]# bsondump dump/ddsdb/t1.bson //查看bson文件内容
备份时指定备份的库和备份目录
[root@mongodb51 ~]# mongodump --host 192.168.4.51 --port 27077 -d ddsdb -o /root/bbsdb
//-d备哪个库,-o指定备份的目录,备份bbsdb库里的所有到/root/bbsdb
只备份ddsdb库里的集合t1
[root@mongodb51 ~]# mongodump --host 192.168.4.51 --port 27077 -d ddsdb -c t1 -o /root/bbsdb.t
2)恢复数据
[root@mongodb51 ~]# mongo --host 192.168.4.51 --port 27077
> show tables;
col
t1
> db.t1.remove({})
>exit
[root@mongodb51 ~]# mongorestore --host 192.168.4.51 --port 27077 -d ddsdb /root/bbsdb.t/ddsdb/
//-d ddsdb恢复到数据库的目录,从/root/bbsdb.t1/ddsdb/目录恢复
**
步骤二:数据的导入导出
**
1)导出
用csv的格式导出
[root@mongodb51 ~]# mongoexport --host 192.168.4.51 --port 27077 -d ddsdb -c t1 -f name --type=csv -o /root/lig1.csv
//导出csv格式,必须要指定导出的字段名 ,导出name字段
[root@mongodb51 ~]# mongoexport --host 192.168.4.51 --port 27077 -d ddsdb -c t1 -q '{name:"bob"}' -f name,age --type=csv -o /root/lig2.csv
//从ddsdb的它1里导出名字为bob的name字段和age字段
用json的格式导出
[root@mongodb51 ~]# mongoexport --host 192.168.4.51 --port 27077 -d ddsdb -c t1 --type=json -o /root/lig3.json
//导出json格式
[root@mongodb51 ~]# mongoexport --host 192.168.4.51 --port 27077 -d ddsdb -c t1 -f name --type=json -o /root/lig4.json
//指定列名导出,导出name字段
2)导入
[root@mongodb51 ~]# mongo --host 192.168.4.51 --port 27077
> use ddsdb
> show tables;
col
t1
> db.t1.remove({})
> exit
用json的格式导入:表里要没有数据,不然导入不成功
[root@mongodb51 ~]# mongoimport --host 192.168.4.51 --port 27077 -d ddsdb -c t1 --type=json /root/lig3.json
[root@mongodb51 ~]# mongo --host 192.168.4.51 --port 27077
> use ddsdb
> db.t1.count({})
17
用csv的格式导入:表里可以有数据
[root@mongodb51 ~]# mongoimport --host 192.168.4.51 --port 27077 -d ddsdb -c t1 --headerline --type=csv /root/lig1.csv
//必须指定文件的列名,不然不成功 -f和--headerline不能一起用 --headerline:把第一行的字段隐藏即去掉文件列的标题name,不然标题也会导进去,导入时t1表可以不存在