資料匯出 mongoexport
假設庫里有一張user 表,裡面有2 條記錄,我們要將它匯出
> use my_mongodb
switched to db my_mongodb
> db.user.find();
>
1 常用匯出方法
[root@localhost bin]# ./mongoexport -d my_mongodb -c user -o user.dat
connected to: 127.0.0.1
exported 2 records
[root@localhost bin]# cat user.dat
, "uid" : 2, "username" : "jerry", "age" : 100 }
, "uid" : 1, "username" : "tom", "age" : 25 }
[root@localhost bin]#
引數說明:
-d 指明使用的庫, 本例中為」 my_mongodb」
-c 指明要匯出的表, 本例中為」user」
-o 指明要匯出的檔名, 本例中為」user.dat」
從上面可以看到匯出的方式使用的是json 的樣式
2 匯出csv格式的檔案
[root@localhost 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
[root@localhost bin]# cat user_csv.dat
uid,username,age
2,"jerry",100
1,"tom",25
[root@localhost bin]#
引數說明:
-csv 指要要匯出為csv 格式
-f 指明需要匯出哪些例
更詳細的用法可以 mongoexport –help 來檢視
資料匯入mongoimport
在上例中我們討論的是匯出工具的使用,那麼本節將討論如何向表中匯入資料
1 匯入json 資料
我們先將表user 刪除掉,以便演示效果
> db.user.drop();
true
> show collections;
system.indexes
>
然後匯入資料
[root@localhost bin]# ./mongoimport -d my_mongodb -c user user.dat
connected to: 127.0.0.1
imported 2 objects
[root@localhost bin]#
可以看到匯入資料的時候會隱式建立表結構
2 匯入csv資料
我們先將表user 刪除掉,以便演示效果
> db.user.drop();
true
> show collections;
system.indexes
>
然後匯入資料
[root@localhost bin]# ./mongoimport -d my_mongodb -c user --type csv --headerline --file
user_csv.dat
connected to: 127.0.0.1
imported 3 objects
[root@localhost bin]#
引數說明:
-type 指明要匯入的檔案格式
-headerline 批明不匯入第一行,因為第一行是列名
-file 指明要匯入的檔案路徑
注意:csv 格式良好,主流資料庫都支援匯出為csv 的格式,所以這種格式非常利於異構資料遷移
資料備份mongodump
可以用mongodump 來做mongodb 的庫或表級別的備份,下面舉例說明:
備份my_mongodb 資料庫
[root@localhost bin]# ./mongodump -d my_mongodb
connected to: 127.0.0.1
database: my_mongodb to dump/my_mongodb
my_mongodb.system.indexes to dump/my_mongodb/system.indexes.bson
1 objects
my_mongodb.user to dump/my_mongodb/user.bson
2 objects
[root@localhost bin]# ll
總計 67648
-rwxr-xr-x 1 root root 7508756 2011-04-06 bsondump
drwxr-xr-x 3 root root 4096 04-10 23:54 dump
-rwxr-xr-x 1 root root 2978016 2011-04-06 mongo
此時會在當前目錄下建立乙個dump 目錄,用於存放備份出來的檔案
也可以指定備份存放的目錄,
[root@localhost bin]# ./mongodump -d my_mongodb -o my_mongodb_dump
connected to: 127.0.0.1
database: my_mongodb to my_mongodb_dump/my_mongodb
my_mongodb.system.indexes to
my_mongodb_dump/my_mongodb/system.indexes.bson
1 objects
my_mongodb.user to my_mongodb_dump/my_mongodb/user.bson
2 objects
[root@localhost bin]#
這個例子中將備份的檔案存在了當前目錄下的my_mongodb_dump 目錄下
資料恢復mongorestore
由於剛剛已經做了備份,所以我們先將庫my_mongodb 刪除掉
> use my_mongodb
switched to db my_mongodb
> db.dropdatabase()
> show dbs
admin (empty)
local (empty)
test (empty)
>
接下來我們進行資料庫恢復
[root@localhost bin]# ./mongorestore -d my_mongodb my_mongodb_dump/*
connected to: 127.0.0.1
wed apr 11 00:03:03 my_mongodb_dump/my_mongodb/user.bson
wed apr 11 00:03:03 going into namespace [my_mongodb.user]
wed apr 11 00:03:03 2 objects found
wed apr 11 00:03:03 my_mongodb_dump/my_mongodb/system.indexes.bson
wed apr 11 00:03:03 going into namespace [my_mongodb.system.indexes]
wed apr 11 00:03:03 , v: 0 }
wed apr 11 00:03:03 1 objects found
[root@localhost bin]#
經驗證資料庫又回來了,其實要是想恢復庫,也大可不必先刪除my_mongodb 庫,只要指
明 –drop 引數,就可以在恢復的時候先刪除表然後再向表中插入資料
mongodb資料匯入匯出以及備份恢復
資料匯出 mongodump d grouprules o dump 資料恢復 mongorestore dump grouprules 資料匯出 mongoexport 假設庫里有一張user 表,裡面有2 條記錄,我們要將它匯出 use my mongodb switched to db my ...
MongoDB匯入匯出資料
匯出json格式 mongoexport d test c t1 o users lisa downloads t1.dat d 指明使用的庫 c 指明要匯出的集合 o 指明要匯出的檔名 檢視t1.dat發現裡面的資料是json格式的。mongoexport d test c t1 q o user...
mongodb 資料匯出匯入
mkdir p data eclassweb mongodump h 172.16.0.181 u eclassuser p eclassuser123 d eclassweb o data eclassweb opt mongodb 3.4.20 bin mongodump h 172.16.0....