MongoDB 導入導出以及數據庫備份
阿新 • • 發佈:2017-10-13
cas home csv csdn nec detail -m style rec -------------------MongoDB數據導入與導出-------------------
1、導出工具:mongoexport
1.1、概念:
mongoDB中的mongoexport工具可以把一個collection導出成JSON格式或CSV格式的文件。可以通過參數指定導出的數據項,也可以根據指定的條件導出數據。
1.2、語法:
mongoexport -d dbname -c collectionname -o file --type json/csv -f field
參數說明:
-d :數據庫名
-c :collection名
-o :輸出的文件名
--type : 輸出的格式,默認為json
-f :輸出的字段,如果-type為csv,則需要加上-f "字段名"
1. 3、示例:
[[email protected] bin]# ./mongoexport -d my_mongodb -c user -o user.dat
connected to: 127.0.0.1
exported 2 records
[[email protected] bin]# cat user.dat
{ "_id" : { "$oid" : "4f81a4a1779282ca68fd8a5a" }, "uid" : 2, "username" : "Jerry", "age" : 100 }
{ "_id" : { "$oid" : "4f844d1847d25a9ce5f120c4" }, "uid" : 1, "username" : "Tom", "age" : 25 }
[[email protected] bin]# ....cvs [[email protected] bin]# ./mongoexport -d my_mongodb -c user --csv -f uid,username,age -o
user_csv.dat
connected to: 127.0.0.1
exported 2 records
[[email protected] bin]# cat user_csv.dat
uid,username,age
2,"Jerry",100
1,"Tom",25
[[email protected] bin]# 2、數據導入:mongoimport 2.1、語法: mongoimport -d dbname -c collectionname --file filename --headerline --type json/csv -f field
參數說明:
-d :數據庫名
-c :collection名
--type :導入的格式默認json
-f :導入的字段名
--headerline :如果導入的格式是csv,則可以使用第一行的標題作為導入的字段
--file :要導入的文件
2.2、示例:
2.2.1 導入JSON 數據
我們先將表user 刪除掉,以便演示效果
> db.user.drop();
true
> show collections;
system.indexes
>
然後導入數據
[[email protected] bin]# ./mongoimport -d my_mongodb -c user user.dat
connected to: 127.0.0.1
imported 2 objects
[[email protected] bin]#
可以看到導入數據的時候會隱式創建表結構
2.2.2 導入CSV數據
我們先將表user 刪除掉,以便演示效果
> db.user.drop();
true
> show collections;
system.indexes
>
然後導入數據
[[email protected] bin]# ./mongoimport -d my_mongodb -c user --type csv --headerline --file
user_csv.dat
connected to: 127.0.0.1
imported 3 objects
[[email protected] bin]#
參數說明:
-type 指明要導入的文件格式
-headerline 批明不導入第一行,因為第一行是列名
-file 指明要導入的文件路徑
註意:
CSV 格式良好,主流數據庫都支持導出為CSV 的格式,所以這種格式非常利於異構數據遷移 - -------------------MongoDB備份與恢復------------------- 1、MongoDB數據庫備份 1.1、語法: mongodump -h dbhost -d dbname -o dbdirectory 參數說明: -h: MongDB所在服務器地址,例如:127.0.0.1,當然也可以指定端口號:127.0.0.1:27017 -d: 需要備份的數據庫實例,例如:test -o: 備份的數據存放位置,例如:/home/mongodump/,當然該目錄需要提前建立,這個目錄裏面存放該數據庫實例的備份數據。 1.2、實例: [[email protected] bin]# ./mongodump -d my_mongodb -o my_mongodb_dump 2、MongoDB數據庫恢復 2.1、語法: mongorestore -h dbhost -d dbname --dir dbdirectory 參數或名: -h: MongoDB所在服務器地址 -d: 需要恢復的數據庫實例,例如:test,當然這個名稱也可以和備份時候的不一樣,比如test2 --dir: 備份數據所在位置,例如:/home/mongodump/itcast/ --drop: 恢復的時候,先刪除當前數據,然後恢復備份的數據。就是說,恢復後,備份後添加修改的數據都會被刪除,慎用! 2.2、實例: [[email protected] bin]# ./mongorestore -d my_mongodb my_mongodb_dump/* 參見:http://www.cnblogs.com/qingtianyu2015/p/5968400.html http://blog.csdn.net/sxb0841901116/article/details/39894041
connected to: 127.0.0.1
exported 2 records
[[email protected] bin]# cat user.dat
{ "_id" : { "$oid" : "4f81a4a1779282ca68fd8a5a" }, "uid" : 2, "username" : "Jerry", "age" : 100 }
{ "_id" : { "$oid" : "4f844d1847d25a9ce5f120c4" }, "uid" : 1, "username" : "Tom", "age" : 25 }
[[email protected] bin]# ....cvs [[email protected] bin]# ./mongoexport -d my_mongodb -c user --csv -f uid,username,age -o
user_csv.dat
connected to: 127.0.0.1
exported 2 records
[[email protected] bin]# cat user_csv.dat
uid,username,age
2,"Jerry",100
1,"Tom",25
[[email protected] bin]# 2、數據導入:mongoimport 2.1、語法: mongoimport -d dbname -c collectionname --file filename --headerline --type json/csv -f field
我們先將表user 刪除掉,以便演示效果
> db.user.drop();
true
> show collections;
system.indexes
>
然後導入數據
[[email protected] bin]# ./mongoimport -d my_mongodb -c user user.dat
connected to: 127.0.0.1
imported 2 objects
[[email protected] bin]#
可以看到導入數據的時候會隱式創建表結構
2.2.2 導入CSV數據
我們先將表user 刪除掉,以便演示效果
> db.user.drop();
true
> show collections;
system.indexes
>
然後導入數據
[[email protected] bin]# ./mongoimport -d my_mongodb -c user --type csv --headerline --file
user_csv.dat
connected to: 127.0.0.1
imported 3 objects
[[email protected] bin]#
參數說明:
-type 指明要導入的文件格式
-headerline 批明不導入第一行,因為第一行是列名
-file 指明要導入的文件路徑
註意:
CSV 格式良好,主流數據庫都支持導出為CSV 的格式,所以這種格式非常利於異構數據遷移 - -------------------MongoDB備份與恢復------------------- 1、MongoDB數據庫備份 1.1、語法: mongodump -h dbhost -d dbname -o dbdirectory 參數說明: -h: MongDB所在服務器地址,例如:127.0.0.1,當然也可以指定端口號:127.0.0.1:27017 -d: 需要備份的數據庫實例,例如:test -o: 備份的數據存放位置,例如:/home/mongodump/,當然該目錄需要提前建立,這個目錄裏面存放該數據庫實例的備份數據。 1.2、實例: [[email protected] bin]# ./mongodump -d my_mongodb -o my_mongodb_dump 2、MongoDB數據庫恢復 2.1、語法: mongorestore -h dbhost -d dbname --dir dbdirectory 參數或名: -h: MongoDB所在服務器地址 -d: 需要恢復的數據庫實例,例如:test,當然這個名稱也可以和備份時候的不一樣,比如test2 --dir: 備份數據所在位置,例如:/home/mongodump/itcast/ --drop: 恢復的時候,先刪除當前數據,然後恢復備份的數據。就是說,恢復後,備份後添加修改的數據都會被刪除,慎用! 2.2、實例: [[email protected] bin]# ./mongorestore -d my_mongodb my_mongodb_dump/* 參見:http://www.cnblogs.com/qingtianyu2015/p/5968400.html http://blog.csdn.net/sxb0841901116/article/details/39894041
MongoDB 導入導出以及數據庫備份