1.這里,直接用 OSX 的 brew 來(lái)安裝 mongodb:
sudo brew install mongodb
2.安裝完成之后將/bin
目錄添加到PATH路徑中
3.創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)存儲(chǔ)目錄
要運(yùn)行mongodb需要一個(gè)數(shù)據(jù)庫(kù)存儲(chǔ)目錄/data/db,安裝mongodb時(shí)并不會(huì)自動(dòng)生成,需要我們手動(dòng)創(chuàng)建
sudo mkdir -p /data/db
4.啟動(dòng)mongodb
默認(rèn)數(shù)據(jù)庫(kù)目錄即為 /data/db
sudo mongod
5.創(chuàng)建數(shù)據(jù)庫(kù)及用戶
用戶管理員是第一個(gè)要?jiǎng)?chuàng)建的用戶。在沒有創(chuàng)建任何用戶之前,你可以隨意創(chuàng)建用戶;但數(shù)據(jù)庫(kù)中一旦有了用戶,那么未登錄的客戶端就沒有權(quán)限做任何操作了,除非使用db.auth(username, password)方法登錄。
用戶管理員的角色名叫 userAdminAnyDatabase,這個(gè)角色只能在 admin 數(shù)據(jù)庫(kù)中創(chuàng)建。
在創(chuàng)建用戶之前,我們首先要修改 MongoDB 的啟動(dòng)方式。缺省方式下 MongoDB 是不進(jìn)行鑒權(quán)檢查的。我們只要在運(yùn)行 MongoDB 的命令后面加上一個(gè) --auth 參數(shù)即可,例如:
sudo mongod --auth
另開一個(gè)客戶端,執(zhí)行下列命令:
sudo mongo
>show dbs //顯示所有數(shù)據(jù)庫(kù)
>use admin
>db.createUser({user:"root",pwd:"root",roles:["userAdminAnyDatabase"]})//創(chuàng)建用戶管理員
> db.auth("root","root") //用管理員登錄
首先保證你已經(jīng)以用戶管理員的身份登錄 admin 數(shù)據(jù)庫(kù)。然后用 use 命令切換到目標(biāo)數(shù)據(jù)庫(kù),同樣用 db.createUser() 命令來(lái)創(chuàng)建用戶,其中角色名為 “readWrite”。
普通的數(shù)據(jù)庫(kù)用戶角色有兩種,read 和 readWrite。顧名思義,前者只能讀取數(shù)據(jù)不能修改,后者可以讀取和修改。
>use test //創(chuàng)建數(shù)據(jù)庫(kù)test (如果已經(jīng)存在,則會(huì)切換到test數(shù)據(jù)庫(kù))
>db.createUser({user:"test",pwd:"test",roles:["readWrite"]}) //創(chuàng)建用戶
> db.auth("root", "root") //用該用戶登錄
6.客戶端(https://github.com/jeromelebel/MongoHub-Mac)
7.關(guān)閉數(shù)據(jù)庫(kù)
>use admin
>db.auth("root", "root")
>db.shutdownServer()
這是一種關(guān)閉數(shù)據(jù)庫(kù)的方法,但是從上面開啟授權(quán)之后這里可能會(huì)報(bào)錯(cuò)告訴你沒有權(quán)限執(zhí)行關(guān)閉命令。這里還需要給root用戶添加相應(yīng)的權(quán)限
>db.updateUser("root",{roles:[{"role" : "userAdminAnyDatabase","db" : "admin"},{"role" : "dbOwner","db" : "admin"},{"role" : "clusterAdmin", "db": "admin"}]})
再執(zhí)行db.shutdownServer()
就能正常關(guān)閉了。
最后幫朋友打個(gè)小廣告