第四部分 管理篇
資料匯出 資料匯入
資料備份 資料恢復
使用者安全與認證
資料匯出 資料匯入
作為dba(管理員),經常會碰到匯入匯出資料的需求
資料匯入 mongoexport
資料匯出 mongoimport
mongoexport -d test -c collection -o 匯出的檔名
引數說明:
-d 資料庫名稱
-c 集合名稱
-o 匯出的檔名稱
mongoimport -d test -c collection 檔名
備份test資料庫
mongodump -d test
此時會在當前目錄下預設建立乙個dump目錄,用於存放備份出來的檔案也可以指定備分儲存放的目錄
後面加上-o my_mongodb_dump
mongorestore -d test -o mydump/test/
如果驗證可先刪除my_mongodb庫,或指明-drop叄數,就可以在恢復的時候先後再向插入資料
單個集合的備份是可以成功
但單個集合的恢復不成功
mongodump -d test -c c5 -o mydump/c5
mongorestore -d test -c c5 mydump/c5
成功了這樣寫才對
mongorestore -d test mydump/c5/test ok 不用加-c 引數,因為並沒有c5已經被刪除了
安全與認證 == 使用者授權
每個mongodb例項中的資料庫都有許多使用者,如果啟用了安全性認證後,只有資料認證的使用者才可以進行讀寫操作
mongodb預設的啟動是不驗證使用者名稱和密碼的,啟動mongodb後,可以直接用mongo連線上來,對所有的庫具有root許可權,所以啟動的時候指定叄數,可以阻止客戶端的訪問和連線,
只需要在啟指定--auth引數即可
mongod --auth
新增資料管理員
use admin;
db.adduser("root":"123");
個人理解:
管理員分為系統管理員和資料庫管理員
系統管理員必須新增到admin陣列庫中,
use admin;
db.adduser("root","123456");
然後用mongo -uroot -p123456 localhost:27017/admin
然後為其它資料庫設定管理員
use test
db.adduser("user1","123456");
現在就能用user1來管理test資料庫了
可以通過db.system.users.find();來檢視資料庫中的所用管理員資訊
mongo -uuser1 -p123456 localhost:27017/test
為什麼還可以登陸呢?在最初始的時候mongodb都預設有乙個admin資料庫(預設是空的)admin.system.users中將會儲存具有管理員許可權的使用者
注意: 當admin.system.users中沒有新增任何使用者時,即使mongodb啟動時新增--auth引數,如果有除admin資料庫中新增了使用者,此時不進行任何認證依然可以使用任操作,直到你在admin.system.users中新增了乙個使用者
建立乙個系統root使用者
在admin庫中新添乙個使用者root
use admin
db.adduser('root','123');
db.auth("root",'123');
建立指定許可權使用者
mongodb也支援為某個特定的資料庫來設定使用者
如我們為test庫設乙個唯讀的使用者user_reader
db.adduser("user1","pass1",true);
只要在db.adduser函式的第三個引數國中true即可為唯讀,只有在test庫,有唯讀的許可權
第四部分 方法3
對employee.calculatepay方法的呼叫是問題的原因。我們需要的是晚繫結。晚繫結 latebinging 意味著編譯器到執行時才選擇要執行的方法。為了迫使編譯器呼叫向上型別轉換得到的物件的方法的正確版本。我們使用了兩個關鍵字 virtual 和override.必須在基類方法中使用vi...
第四部分 方法5
linux繼承了unix作業系統結構清晰的特點。在linux下的檔案結構非常有條理。但是,上述的優點只有在對linux相當熟悉時,才能體會到。vmlinuz 我們已經知道,每乙個linux都有乙個核心 vmlinuz 我們在這個核心上新增上可以完成各種特定功能的模組,每個模組就體現在 linux中各...
JavaScript筆記(第四部分)
命 名 空 間 管理變數,防止汙染全域性,適用於模組開發 之 前 的 解 決 辦 方 已經不用 命名空間 var org xuming department2 lisi 了解即可 用 法 org.department1.jicheng.name 簡化 var jc org.department1.j...