mongodbバックアップ

mongodbバックアップ

mongodbはmongodump/mongorestoremongoexport/mongoimport主にデータベース全体のバックアップをmongodumpし、mongoexportが主にデータセットをエクスポートする2セットのデータバックアップおよびリカバリメカニズムを提供しました。


1つは、MongoDBデータのインポートとエクスポートです

1.エクスポートツール:mongoexport

(1)概念:
mongoDBのmongoexportツールは、コレクションをJSON形式またはCSV形式のファイルにエクスポートできます。エクスポートするデータ項目は、パラメータで指定することも、指定した条件でエクスポートすることもできます。

(2)语法:
mongoexport -d dbname -c collectionname -o file --type json/csv -f field
  参数说明:\
-d :数据库名
-c :collection数据集名
-o :输出的文件名
--type : 输出的格式,默认为json
-f :输出的字段,如果-type为csv,则需要加上-f "字段名"
(3)示例:
mongoexport -d mongotest -c users -o /home/python/Desktop/mongoDB/users.json --type json -f  "_id,user_id,user_name,age,status"

/home/mongodb/bin/mongoexport -d weixin -c accounts -u sa -p sa -o /tmp/accounts.json --type json

查看集合数据条数并记录
例如:db.集合名.count({})


2.データのインポート:mongoimport

1.语法:
mongoimport -d dbname -c collectionname --file filename --headerline --type json/csv -f field
参数说明:
-d :数据库名
-c :collection数据集名
--type :导入的格式默认json
-f :导入的字段名
--headerline :如果导入的格式是csv,则可以使用第一行的标题作为导入的字段
--file :要导入的文件
2.示例:
mongoimport -d mongotest -c users --file /home/mongodump/articles.json --type json

/home/mongodb/bin/mongoimport -d weixin -c accounts -u sa -p sa --file /tmp/accounts.json --type json
查看执行结果导入了多少条数据
查看导入成功后,数据的总条数,总条数为导入前条数+导入的条数


2、MongoDBのバックアップとリカバリ

ここでは、mongodbでファイルをインポートおよびエクスポートできます。

1.MongoDBデータベースのバックアップ

(1).语法
mongodump -h dbhost -d dbname -o dbdirectory
参数说明:
-h: MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017
-d: 需要备份的数据库实例,例如: wx_applet
-o: 备份的数据存放位置,例如:/tmp/mongodb/,当然该目录需要提前建立,这个目录里面存放该数据库实例的备份数据。
(2)实例:
mongodump -h 192.168.2.182:27017 -d wx_applet -o /tmp/mongodb/data.dmp

/home/mongodb/bin/mongodump -h 192.168.168.175:27017 -d weixin -u sa -p sa -o /tmp/

2.MongoDBデータベースのリカバリ

(1).语法:
mongorestore -h dbhost -d dbname --dir dbdirectory
参数或名:
 -h: MongoDB所在服务器地址
--db,-d : 需要恢复的数据库实例,例如:test,当然这个名称也可以和备份时候的不一样,比如test2
--dir: 备份数据所在位置,例如:/home/mongodump/itcast/
--drop: 恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用!
(2).实例:
将备份的数据库文件data.dmp上传到新的mongodb服务器 /tmp/mongodb/目录下,执行命令:
mongorestore -d wx_applet --dir /tmp/mongodb/data.dmp/wx_applet

/home/mongodb/bin/mongorestore -h 192.168.168.82:27017 -u sa -p sa --drop --db=dsf /tmp/weixinmongo/weixin/
/home/mongodb/bin/mongodump -h 192.168.168.82:27017 -d dsf -u sa -p sa -o /tmp/

/home/mongodb/bin/mongorestore -h 192.168.168.82:27017 -u sa -p sa --drop --db=dsf /tmp/zhgl

5、测试
说明:如果目标库数据集合中的对象ID和源库数据集合中的对象ID一致,则会保持目标库数据集合中的值不会做更新

おすすめ

転載: blog.csdn.net/zyy130988/article/details/111365323