88bf必发唯一娱乐官网_www.bifa888.com
做最好的网站

【www.bifa888.com】Mongodb的备份与回复,导入_Mongo

作者: www.bifa888.com  发布:2019-11-26

生机勃勃,mongodump备份数据库

mongodb数据备份和还原主要分为三种,后生可畏种是指向于库的mongodump和mongorestore,豆蔻梢头种是针对库中表的mongoexport和mongoimport。

意气风发:备份数据库

mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -o 文件存在路径 

生机勃勃,mongodump备份数据库

1,常用命令格

?

1
mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -o 文件存在路径

大器晚成旦未有顾客何人,能够去掉-u和-p。
只要导出本机的数据库,能够去掉-h。
假如若默许端口,能够去掉--port。
即使想导出全数数据库,能够去掉-d。

2,导出全数数据库

?

1
2
3
4
5
6
7
8
9
10
[root@localhost mongodb]# mongodump -h 127.0.0.1 -o /home/zhangy/mongodb/
connected to: 127.0.0.1
Tue Dec 3 06:15:55.448 all dbs
Tue Dec 3 06:15:55.449 DATABASE: test   to   /home/zhangy/mongodb/test
Tue Dec 3 06:15:55.449   test.system.indexes to /home/zhangy/mongodb/test/system.indexes.bson
Tue Dec 3 06:15:55.450     1 objects
Tue Dec 3 06:15:55.450   test.posts to /home/zhangy/mongodb/test/posts.bson
Tue Dec 3 06:15:55.480     0 objects
  
。。。。。。。。。。。。。。。。。。。。省略。。。。。。。。。。。。。。。。。。。。。。。。。。

3,导出钦命数据库

?

1
2
3
4
5
6
7
8
9
10
11
[root@localhost mongodb]# mongodump -h 192.168.1.108 -d tank -o /home/zhangy/mongodb/
connected to: 192.168.1.108
Tue Dec 3 06:11:41.618 DATABASE: tank   to   /home/zhangy/mongodb/tank
Tue Dec 3 06:11:41.623   tank.system.indexes to /home/zhangy/mongodb/tank/system.indexes.bson
Tue Dec 3 06:11:41.623     2 objects
Tue Dec 3 06:11:41.623   tank.contact to /home/zhangy/mongodb/tank/contact.bson
Tue Dec 3 06:11:41.669     2 objects
Tue Dec 3 06:11:41.670   Metadata for tank.contact to /home/zhangy/mongodb/tank/contact.metadata.json
Tue Dec 3 06:11:41.670   tank.users to /home/zhangy/mongodb/tank/users.bson
Tue Dec 3 06:11:41.685     2 objects
Tue Dec 3 06:11:41.685   Metadata for tank.users to /home/zhangy/mongodb/tank/users.metadata.json
G:Program FilesMongoDBServer3.0bin>mongodump -d mydb -o g:/data/back

生龙活虎旦未有顾客何人,能够去掉-u和-p。若是导出本机的数据库,能够去掉-h。假设是暗许端口,可以去掉--port。假如想导出全部数据库,能够去掉-d。

二,mongorestore还原数据库

1,常用命令格式

?

1
mongorestore -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 --drop 文件存在路径

 
--drop的意趣是,先删除全体的记录,然后还原。

2,复苏全部数据库到mongodb中

?

1
[root@localhost mongodb]# mongorestore /home/zhangy/mongodb/  #这里的路径是所有库的备份路径

 
3,还原钦点的数据库

?

1
2
3
[root@localhost mongodb]# mongorestore -d tank /home/zhangy/mongodb/tank/  #tank这个数据库的备份路径
  
[root@localhost mongodb]# mongorestore -d tank_new /home/zhangy/mongodb/tank/  #将tank还有tank_new数据库中

  
这个指令,能够兑现数据库的备份与回复,文件格式是json和bson的。不可能指写到表备份或然苏醒。

mongodump -h IP --port 端口 -u 顾客名 -p 密码 -d 数据库 -o 文件存在路径

[root@localhost mongodb]# mongodump -h 127.0.0.1 -o /home/zhangy/mongodb/ connected to: 127.0.0.1 Tue Dec 3 06:15:55.448 all dbs Tue Dec 3 06:15:55.449 DATABASE: test to /home/zhangy/mongodb/test Tue Dec 3 06:15:55.449 test.system.indexes to /home/zhangy/mongodb/test/system.indexes.bson Tue Dec 3 06:15:55.450 1 objects Tue Dec 3 06:15:55.450 test.posts to /home/zhangy/mongodb/test/posts.bson Tue Dec 3 06:15:55.480 0 objects 。。。。。。。。。。。。。。。。。。。。省略。。。。。。。。。。。。。。。。。。。。。。。。。。 

[root@localhost mongodb]# mongodump -h 192.168.1.108 -d tank -o /home/zhangy/mongodb/ connected to: 192.168.1.108 Tue Dec 3 06:11:41.618 DATABASE: tank to /home/zhangy/mongodb/tank Tue Dec 3 06:11:41.623 tank.system.indexes to /home/zhangy/mongodb/tank/system.indexes.bson Tue Dec 3 06:11:41.623 2 objects Tue Dec 3 06:11:41.623 tank.contact to /home/zhangy/mongodb/tank/contact.bson Tue Dec 3 06:11:41.669 2 objects Tue Dec 3 06:11:41.670 Metadata for tank.contact to /home/zhangy/mongodb/tank/contact.metadata.json Tue Dec 3 06:11:41.670 tank.users to /home/zhangy/mongodb/tank/users.bson Tue Dec 3 06:11:41.685 2 objects Tue Dec 3 06:11:41.685 Metadata for tank.users to /home/zhangy/mongodb/tank/users.metadata.json 

三,mongoexport导出表,大概表中部分字段

1,常用命令格式

?

1
mongoexport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 -f 字段 -q 条件导出 --csv -o 文件名

地点的参数好驾驭,入眼说一下:
-f    导出指字段,以字号分割,-f name,email,age导出name,email,age那多少个字段
-q    能够根查询条件导出,-q '{ "uid" : "100" }' 导出uid为100的数目
--csv 表示导出的文件格式为csv的,这么些相比有用,因为相当多的关系型数据库都以扶植csv,在这里间有同盟点

2,导出整张表

?

1
2
3
[root@localhost mongodb]# mongoexport -d tank -c users -o /home/zhangy/mongodb/tank/users.dat
connected to: 127.0.0.1
exported 4 records

3,导出表中部分字段

?

1
2
3
[root@localhost mongodb]# mongoexport -d tank -c users --csv -f uid,name,sex -o tank/users.csv
connected to: 127.0.0.1
exported 4 records

4,根据条件敢出数据

?

1
2
3
[root@localhost mongodb]# mongoexport -d tank -c users -q '{uid:{$gt:1}}' -o tank/users.json
connected to: 127.0.0.1
exported 3 records

假使未有客商,可以去掉-u和-p。
假设导出本机的数据库,能够去掉-h。
比方是暗中认可端口,能够去掉--port。
风流罗曼蒂克旦想导出全数数据库,可以去掉-d。

三,mongorestore还原数据库

四,mongoimport导入表,或许表中部分字段

1,常用命令格式

1.1,还原整表导出的非csv文件
mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --upsert --drop 文件名  
驷比不上舌说一下--upsert,别的参数方面的通令原来就有提到,--upsert 插入或许更新现成数据
1.2,还原部分字段的导出文件
mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --upsertFields 字段 --drop 文件名  
--upsertFields根--upsert一样
1.3,还原导出的csv文件
mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --type 类型 --headerline --upsert --drop 文件名  
地点二种状态,还足以有另向外排水列组合的。

2,还原导出的表数据

?

1
2
3
[root@localhost mongodb]# mongoimport -d tank -c users --upsert tank/users.dat
connected to: 127.0.0.1
Tue Dec 3 08:26:52.852 imported 4 objects

3,部分字段的表数据导入

[root@localhost mongodb]# mongoimport -d tank -c users  --upsertFields uid,name,sex  tank/users.dat  
connected to: 127.0.0.1  
Tue Dec  3 08:31:15.179 imported 4 objects 

4,还原csv文件

?

1
2
3
[root@localhost mongodb]# mongoimport -d tank -c users --type csv --headerline --file tank/users.csv
connected to: 127.0.0.1
Tue Dec 3 08:37:21.961 imported 4 objects

 

导出全数数据库

mongorestore -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 --drop 文件存在路径 
命令:mongodump -h 127.0.0.1 -o /home/zhangy/mongodb/

--drop的意趣是,先删除全数的记录,然后还原。

导出钦定数据库

2,复苏全数数据库到mongodb中

mongodump -h 192.168.1.108 -d tank -o /home/zhangy/mongodb/
[root@localhost mongodb]# mongorestore /home/zhangy/mongodb/ #这里的路径是所有库的备份路径 

[root@localhost mongodb]# mongorestore -d tank /home/zhangy/mongodb/tank/ #tank这个数据库的备份路径 [root@localhost mongodb]# mongorestore -d tank_new /home/zhangy/mongodb/tank/ #将tank还有tank_new数据库中

二:mongorestore还原数据库

那么些指令,能够兑现数据库的备份与回复,文件格式是json和bson的。不能够指写到表备份恐怕苏醒。

1,常用命令格式

四,mongoexport导出表,可能表中部分字段

 mongorestore -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 --drop 文件存在路径 
 --drop的意思是,先删除所有的记录,然后恢复。
  mongorestore /home/zhangy/mongodb/  #这里的路径是所有库的备份
 G:Program FilesMongoDBServer3.0bin>mongorestore -d mydb1 --dir g:/data/back/mydb
mongoexport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 -f 字段 -q 条件导出 --csv -o 文件名 

2,复苏全数数据库到mongodb中

地点的参数好了然,爱惜说一下:-f 导出指字段,以字号分割,-f name,email,age导出name,email,age那八个字段-q 可以根查询条件导出,-q '{ "uid" : "100" }' 导出uid为100的多寡--csv 代表导出的文件格式为csv的,这些相比有用,因为好些个的关系型数据库都以支撑csv,在那地有协同点

mongorestore /home/zhangy/mongodb/  #这里的路径是所有库的备份
[root@localhost mongodb]# mongoexport -d tank -c users -o /home/zhangy/mongodb/tank/users.dat connected to: 127.0.0.1 exported 4 records 

[root@localhost mongodb]# mongoexport -d tank -c users --csv -f uid,name,sex -o tank/users.csv connected to: 127.0.0.1 exported 4 records 

[root@localhost mongodb]# mongoexport -d tank -c users -q '{uid:{$gt:1}}' -o tank/users.json connected to: 127.0.0.1 exported 3 records 

3,还原钦命的数据库

五,mongoimport导入表,或然表中部分字段

G:Program FilesMongoDBServer3.0bin>mongorestore -d mydb1 --dir g:/data/back/mydb

mongorestore -d tank /home/zhangy/mongodb/tank/  #tank这个数据库的备份路径
mongorestore -d tank_new /home/zhangy/mongodb/tank/  #将tank还有tank_new数据库中

1.1,还原整表导出的非csv文件mongoimport -h IP --port 端口 -u 顾客名 -p 密码 -d 数据库 -c 表名 --upsert --drop 文件名 入眼说一下--upsert,别的参数方面包车型地铁指令本来就有涉嫌,--upsert 插入可能更新现存数量1.2,还原部分字段的导出文件mongoimport -h IP --port 端口 -u 客商名 -p 密码 -d 数据库 -c 表名 --upsertFields 字段 --drop 文件名 --upsertFields根--upsert同样1.3,还原导出的csv文件mongoimport -h IP --port 端口 -u 顾客名 -p 密码 -d 数据库 -c 表名 --type 类型 --headerline --upsert --drop 文件名 上边三种情景,还足以有别的排列组合的。

三,mongoexport导出表,或然表中部分字段
mongoexport -h IP --port 端口 -u 客商名 -p 密码 -d 数据库 -c 表名 -f 字段 -q 条件导出 --csv -o 文件名

[root@localhost mongodb]# mongoimport -d tank -c users --upsert tank/users.dat connected to: 127.0.0.1 Tue Dec 3 08:26:52.852 imported 4 objects

地方的参数好驾驭,爱护说一下:
-f 导出指字段,以字号分割,-f name,email,age导出name,email,age那八个字段
-q 能够借协助调查询条件导出,-q '{ "uid" : "100" }' 导出uid为100的多寡
--csv 代表导出的文件格式为csv的,那些相比较有用,因为大多的关系型数据库都是永葆csv,在那处有协同点

3,部分字段的表数据导入

导出整张表

[root@localhost mongodb]# mongoimport -d tank -c users --upsertFields uid,name,sex tank/users.dat connected to: 127.0.0.1 Tue Dec 3 08:31:15.179 imported 4 objects

mongoexport -d tank -c users -o /home/zhangy/mongodb/tank/users.dat
[root@localhost mongodb]# mongoimport -d tank -c users --type csv --headerline --file tank/users.csv connected to: 127.0.0.1 Tue Dec 3 08:37:21.961 imported 4 objects 

根据规范导出数据

风流倜傥体化感觉,mongodb的备份与回复,如故挺强盛的,即便有一点点辛劳。

mongoexport -d tank -c users -q '{uid:{$gt:1}}' -o tank/users.json

四,mongoimport导入表,恐怕表中部分字段

复原整表导出的非csv文件
mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --upsert --drop 文件名
关键说一下--upsert,其余参数方面包车型地铁通令本来就有涉及,--upsert 插入恐怕更新现成数据

还原部分字段的导出文件
mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --upsertFields 字段 --drop 文件名
--upsertFields根--upsert一样

回复导出的csv文件
mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --type 类型 --headerline --upsert --drop 文件名

光复导出的表数据
mongoimport -d tank -c users --upsert tank/users.dat

风华正茂对字段的表数据导入
mongoimport -d tank -c users --upsertFields uid,name,sex tank/users.dat

还原csv文件
mongoimport -d tank -c users --type csv --headerline --file tank/users.csv

本文由88bf必发唯一娱乐官网发布于www.bifa888.com,转载请注明出处:【www.bifa888.com】Mongodb的备份与回复,导入_Mongo

关键词: www.bifa888.