MongoDB基礎配置及權限配置

MongoDB基礎配置及權限配置

NoSQL MongoDB Web Linux

長期以來,在Web項目開發中,我一直使用關係型數據庫Mysql作爲數據倉庫,這也是大部分Web開發者在學習階段,或實際開發中最常用的數據庫。隨着近幾年大數據等新興概念的興起,NoSQL數據庫也日趨變的流行,MongoDB目前來說是其中應用比較廣泛的。

就目前純粹的個人使用感受來講,其最吸引我的就是其類JSON的數據結構,在開發中完全可以拋棄Mysql中需要的前期設計,並且在開發過程中,可以很快捷的改變早期數據結構,並對前期開發減少影響。當然,如此簡便的特性並不是說我們可以完全的不用考慮數據庫結構,作爲開發過程中最基礎的承載,數據庫設計的一些基本準則我還是需要遵守的。而且作爲新興數據庫體系,MongoDB也不是能應用於所有領域,所以,在其使用上還需要做一番斟酌,不過在我接觸的大多數的商業項目中,有70%在開發時採用MongoDB會取得較好效果。

Linux安裝

跟大多數Linux軟件一樣,MongoDB在基本安裝方式爲編譯安裝,並且針對各個系統版本有相應的簡易安裝包。具體細節可參考其官方網站,在這裏不做贅述。

MongoDB官網:https://www.mongodb.org

基本配置

MongoDb在初次安裝完成後,最好結合實際情況對齊基礎配置文件做一定配置,假如按照起默認的運行方式,在實際生產環境中,很難保證其穩定運行。一般
MongoDb默認的基礎配置文件在/etc/mongod.conf

一般最開始需要配置的爲bind_ip,在這一點上MongoDb與Mysql有很大不同。Mysql的監聽IP默認與系統IP相同,所以一般不需單獨配置,只需配置用戶即可從外部用訪問。但是在MongoDb,假如你要以127.0.0.1做爲訪問地址的話,你的bind_ip必須也爲127.0.0.1,假如配置爲公網地址的話,你的數據庫用127.0.0.1會無法連接。
下面是以10.0.0.1作爲外網訪問地址,127.0.0.1作爲本機訪問地址的配置。

# Listen to local interface only. Comment out to listen on all interfaces.
bind_ip=10.0.0.1,127.0.0.1

剩餘如日誌文件位置、倉庫存儲文件路徑等按實際情況配置即可

用戶權限配置

在用戶權限分配上,MongoDB管理是相對比較寬鬆的。在其默認的安裝中,MongoDB是沒用用戶的,單純的作爲數據倉庫使用。也就是說Mongo在啓動後,任何指導服務器IP的人都可以鏈入數據庫,進行任何操作。想要對數據庫訪問進行權限限制,首先要在配置文件中開啓權限選項,開啓後在未完成用戶設置後不要重啓數據庫。

security:
  authorization: enabled

setParameter:
  authenticationMechanisms: MONGODB-CR,SCRAM-SHA-1
  enableLocalhostAuthBypass: false
  logLevel: 4

因爲MongoDB並不存在默認的管理員賬戶,所以配置文件更改完成重啓數據庫之前,我們需要進入數據庫增加admin管理員。因爲目前數據庫仍然是沒有用戶狀態,所以我們直接登入數據庫即可。


use admin;

//創建管理員用戶
db.createUser(
   {
     user: "admim",
     pwd: "admin",
     roles: [ "userAdminAnyDatabase" ]
   }
)

在進行以上設置後,我們可以重啓MongoDB服務並登入數據庫,這時會發現,我們執行show dbs;等操作均無法執行,這是因爲我們登錄是不需要認證的,但是要訪問具體數據庫,或者對數據做更改的時候,已經是沒有相關權限了,這時我就要爲需要訪問的數據庫添加權限。


use admin;

db.auth("admim","admim");  //登錄用戶admin

//MongoDB用戶是跟着數據庫走的,所以我們要先進入需要添加用戶的數據庫
use test;

//創建test數據庫讀寫用戶test
db.createUser(
 {
   user: "test",
   pwd: "test",
   roles: [
      { role: "readWrite", db: "test" }
   ]
 }
)

db.auth("test","test");  //登錄test庫用戶test

現在我們就可以對test庫進行相關操作了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章