天天看點

MongoDB 備份恢複指令說明

一、全庫備份恢複

#mongodump -d my_mongodb -o my_mongodb_dump

#mongorestore -d my_mongodb my_mongodb_dump/*

二、JSON Collection備份恢複

$ mongoexport -d test -c book -o book.json  

connected to: 10.77.20.xx  

exported 2 records  

$ mongoimport -d test -c book book.json  

imported 2 objects  

三、CSV Collection資料導出導入

# more students.txt

{ "classid" : 1, "age" : 20, "name" : "kobe" }  

{ "classid" : 1, "age" : 23, "name" : "nash" }  

{ "classid" : 2, "age" : 18, "name" : "james" }  

{ "classid" : 2, "age" : 19, "name" : "wade" }  

{ "classid" : 2, "age" : 19, "name" : "bosh" }  

{ "classid" : 2, "age" : 25, "name" : "allen" }  

{ "classid" : 1, "age" : 19, "name" : "howard" }  

{ "classid" : 1, "age" : 22, "name" : "paul" }  

{ "classid" : 2, "age" : 24, "name" : "shane" }

#

1.導入資料

# mongoimport -d test -c students students.txt

connected to: 127.0.0.1

Tue Apr 22 16:02:32 imported 9 objects

> db.students.find()db.students.find()

{ "_id" : ObjectId("53562218bc98e02b24984175"), "classid" : 1, "age" : 20, "name" : "kobe" }

{ "_id" : ObjectId("53562218bc98e02b24984176"), "classid" : 1, "age" : 23, "name" : "nash" }

{ "_id" : ObjectId("53562218bc98e02b24984177"), "classid" : 2, "age" : 18, "name" : "james" }

{ "_id" : ObjectId("53562218bc98e02b24984178"), "classid" : 2, "age" : 19, "name" : "wade" }

{ "_id" : ObjectId("53562218bc98e02b24984179"), "classid" : 2, "age" : 19, "name" : "bosh" }

{ "_id" : ObjectId("53562218bc98e02b2498417a"), "classid" : 2, "age" : 25, "name" : "allen" }

{ "_id" : ObjectId("53562218bc98e02b2498417b"), "classid" : 1, "age" : 19, "name" : "howard" }

{ "_id" : ObjectId("53562218bc98e02b2498417c"), "classid" : 1, "age" : 22, "name" : "paul" }

{ "_id" : ObjectId("53562218bc98e02b2498417d"), "classid" : 2, "age" : 24, "name" : "shane" }

>

2.導出CSV

# mongoexport -d test -c students --csv -f classid,name,age -o students_csv.dat

exported 9 records

導出隻有資料,不包括_id

參數說明:

-h:指明資料庫主控端的IP

-u:指明資料庫的使用者名

-p:指明資料庫的密碼

-d:指明資料庫的名字

-c:指明collection的名字

-f:指明要導入那些列

[root@jsmartserv hbk]# more students_csv.dat

classid,name,age

1,"kobe",20

1,"nash",23

2,"james",18

2,"wade",19

2,"bosh",19

2,"allen",25

1,"howard",19

1,"paul",22

2,"shane",24

[root@jsmartserv hbk]#

3.删除資料

db.students.remove()

4.導入CSV

# mongoimport -d test -c students --type csv --headerline --file students_csv.dat

Tue Apr 22 16:07:57 imported 9 objects

-type:指明要導入的檔案格式

-headerline:指明第一行是列名,不需要導入

-file:指明要導入的檔案

5.驗證

db.students.find()db.students.find()

{ "_id" : ObjectId("5356235dbc98e02b2498417e"), "classid" : 1, "name" : "kobe", "age" : 20 }

{ "_id" : ObjectId("5356235dbc98e02b2498417f"), "classid" : 1, "name" : "nash", "age" : 23 }

{ "_id" : ObjectId("5356235dbc98e02b24984180"), "classid" : 2, "name" : "james", "age" : 18 }

{ "_id" : ObjectId("5356235dbc98e02b24984181"), "classid" : 2, "name" : "wade", "age" : 19 }

{ "_id" : ObjectId("5356235dbc98e02b24984182"), "classid" : 2, "name" : "bosh", "age" : 19 }

{ "_id" : ObjectId("5356235dbc98e02b24984183"), "classid" : 2, "name" : "allen", "age" : 25 }

{ "_id" : ObjectId("5356235dbc98e02b24984184"), "classid" : 1, "name" : "howard", "age" : 19 }

{ "_id" : ObjectId("5356235dbc98e02b24984185"), "classid" : 1, "name" : "paul", "age" : 22 }

{ "_id" : ObjectId("5356235dbc98e02b24984186"), "classid" : 2, "name" : "shane", "age" : 24 }

查詢students集合,驗證導入是否成功:

本文轉自 pgmia 51CTO部落格,原文連結:http://blog.51cto.com/heyiyi/1400789