Centos下mongodb3.4的安裝與配置

本文爲轉載,原文:Centos下mongodb3.4的安裝與配置

mongodb安裝

yum命令安裝

本次安裝使用的是yum命令安裝,在安裝志強,我們先執行以下命令更新下yum

yum update

然後添加mongodbyum源。

cd /etc/yum.repos.d/
vim mongodb-3.4.repo

將以下內容添加到mongodb-3.4.repo

[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc

這裏可以修改 gpgcheck=0, 省去gpg驗證
最後再執行以下命令進行安裝:

yum install -y mongodb-org

執行完命令後,耐心等待即可。

驗證是否成功

我們再來執行以下命令驗證下我們是否安裝成功:

mongo --version

這個結果便說明已經安裝成功。

我們可以通過以下命令查看安裝後的相關文件目錄:

whereis mongod


/etc/mongod.conf就是mongodb的配置文件。

啓動,停止服務

centos7以下的啓動、停止服務命令如下:

sudo service mongod start //啓動服務
sudo service mongod stop  //停止服務

centos7以上的啓動停止服務命令如下:

systemctl start mongod.service //啓動服務
systemctl stop mongod.service  //停止服務
systemctl status mongod.service //查看服務狀態


在終端輸入mongo命令即可進入mongodb的shell腳本:
可以輸入些簡單的命令驗證測試下:

配置授權登錄

之前直接輸入mongo命令進入腳本,是沒有使用用戶名和密碼登錄的。那麼,我們要如何才能使用用戶名密碼來管理我們的mongodb呢?
首先,我們得創建用戶,同樣我們先使用mongo命令進入腳本,並一次執行以下命令用以創建用戶:

> mongo
> use admin
> db.createUser({
user:"root",
pwd:"123456",
roles:[{role:"root",db:"admin"}]
})

user:用戶名
pwd:密碼
roles:指定用戶的角色,可以用一個空數組給新用戶設定空角色;在roles字段,可以指定內置角色和用戶定義的角色。role裏的角色選擇我在文章後面補充。

然後,我們在修改下配置文件,先在mongo腳本里輸入exit退出mongo。之後再輸入以下命令修改配置文件:

vim /etc/mongod.conf


修改圖中紅色框的內容,註釋bindIp,解開security的註釋,並在下方添加authorization: enabled即可。
之後再重啓mongodb,重啓的命令之前已經說過了,centos7之前與之後有些差別。
然後再試下mongo命令。
我們發現show dbs命令報錯了,這是因爲我們開啓了認證,但是我們並沒有登錄。我們可以用以下命令來添加授權:
> use admin
> db.auth("root","123456")

這樣我們就可以繼續訪問mongodb了。
或者我們可以用我們的用戶名密碼登錄:

mongo 127.0.0.1:27017/admin -u root -p
這樣也是可以的。

mongodb角色

內置角色

  1. 數據庫用戶角色:read、readWrite;
  2. 數據庫管理角色:dbAdmin、dbOwner、userAdmin;
  3. 集羣管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
  4. 備份恢復角色:backup、restore;
  5. 所有數據庫角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
  6. 超級用戶角色:root, 這裏還有幾個角色間接或直接提供了系統超級用戶的訪問(dbOwner 、userAdmin、userAdminAnyDatabase)
  7. 內部角色:__system

具體角色

  1. read:允許用戶讀取指定數據庫
  2. readWrite:允許用戶讀寫指定數據庫
  3. dbAdmin:允許用戶在指定數據庫中執行管理函數,如索引創建、刪除,查看統計或訪問system.profile
  4. userAdmin:允許用戶向system.users集合寫入,可以找指定數據庫裏創建、刪除和管理用戶
  5. clusterAdmin:只在admin數據庫中可用,賦予用戶所有分片和複製集相關函數的管理權限。
  6. readAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的讀權限
  7. readWriteAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的讀寫權限
  8. userAdminAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的userAdmin權限
  9. dbAdminAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的dbAdmin權限。
  10. root:只在admin數據庫中可用。超級賬號,超級權限

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