標籤:mongodb匯入匯出備份恢複使用者授權四
五:MongoDB匯入、匯出、備份、恢複、使用者授權
一:資料匯出,資料匯入
作為DBA(管理員),經常會碰到匯入匯出資料的需求,下面介紹工具 + 生產力(內建的):
1:資料匯入 mongoexport
匯出csv格式的檔案
./mongoexport -d Test -c user1 -o /tmp/user1.out --指定匯出檔案位置及檔案名稱
資料庫 集合(表)
./mongoexport -d my_mongodbTest -c user --csv -f uid,name,age -o user_csv.dat
參數說明:
-d 是資料庫
-c 是集合
-o 輸出的檔案名稱
-csv 指要匯出為csv格式
-f 指明需要匯出那些列(欄位)
更詳細的用法可以 mongoexport -h查看
2: 資料匯入 mongoimport
./mongoimport -d test -c user1 /tmp/user1.out --將/tmp/user1.out的檔案匯入test資料庫user1集合中
二:資料備份、資料恢複 --備份的檔案是一堆bson檔案
作為DBA(管理員),經常會碰到匯入匯出資料的需資料備份是非常重要的工作,下面介紹工具 + 生產力(內建的):
1:資料備份 mongodump(一個大的集合會有個bson檔案)
./mongodump -d test -o /tmp/ --將testDatabase Backup到/tmp/下,就會產生個 /tmp/test/xxx.bson ...檔案
-d 資料庫
-h 查看詳細參數
*如果不指定目錄預設會備份在當前檔案目錄(bin)下建立一個dump目錄,用於存放備份出來的檔案
自己可以指定目錄:後面加上 -o /tmp/my_mongodb_dump 備份到哪裡去
2: 資料恢複 mongorestore
./mongorestore -d test /tmp/test --將/tmp/test的資料恢複到test的資料庫
三:使用者安全與認證(使用者授權)
mongodb管理員:超級管理員 、每個資料庫的管理員
每個mongodb執行個體中執行個體中的資料庫都有許多使用者,如果啟用了安全性認證後,只有資料庫認證的使用者才可以進行讀寫操作,
mongodb預設的啟動是不驗證使用者名稱和密碼的,啟動mongodb後可以直接用mongo連結使用,對所有資料都有root許可權。
所以啟動的時候指定參數,可以阻止用戶端的訪問和連結。
只需在啟動時指定 --auth 參數即可
詳細操作步驟:(第一次進來的時候預設都是超級管理員,登入時候加上--auth 進來的時候就可以設定許可權)
1-> ./mongod --auth --dbpath=/usr/local/mongodb/data/ --logpath=/usr/local/mongodb/dblogs --fork 啟動mongodb
1-> show dbs
2-> use admin --進入mongodb ,show dbs就可以看到admin資料庫
3-> db.addUser("root","123456"); 斷行符號 -- 建立個超級管理員,斷行符號有個值readOnly : false 表示可讀可寫
4-> exit --設定你會發現什麼都幹不鳥,退出重新登入
5-> ./mongo -h --看下參數 -u -p
6-> ./mongo localhost:27017/test 匿名使用者登入到test資料庫,你會發現不能操作
7-> ./mongo -uroot -p123456 localhost:27017/test --你會發現這樣也不行,這裡進入的是test,必須進入admin資料庫驗證
--因為我們剛加的root使用者是在admin資料庫加的,是admin庫和全站的超級使用者,要在admin下進行驗證登入
8-> ./mongo -uroot -p123456 localhost:27017/admin --這樣就行
去test添加使用者(其他建立使用的庫也如此)
*注意:在test添加的使用者只能對test資料有操作許可權,不能操作別的庫,admin裡面是超級管理員可以
use test
db.addUser("user1","123456");
./mongo -uuser1 -p123456 localhost:27017/test --即可驗證
設定完之後:下次用mongodb的時候就得:
1:啟動mongodb
./mongod --auth --dbpath=/usr/local/mongodb/data/ --logpath=/usr/local/mongodb/dblogs --fork
2:使用者登入:
./mongo -uroot -p123456 localhost:27017/admin
MongoDB匯入、匯出、備份、恢複、使用者授權(四)