1. 程式人生 > >Linux 安裝 MongoDB

Linux 安裝 MongoDB

環境 RM bow inux 所有 location only 建數據庫 nat

一、下載

Linux:CentOS 7.3 64位

MongoDB:3.6.4

安裝目錄:/usr/local

cd /usr/local
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.6.4.tgz

二、解壓縮

解壓縮安裝包並重命名(方便管理)

tar -zxvf mongodb-linux-x86_64-rhel62-3.6.4.tgz
mv mongodb-linux-x86_64-rhel62-3.6.4 mongodb

三、配置MongoDB

需要配置三項內容,一個是數據文件夾(db,文件名可自定義),一個是日誌文件夾(logs,文件名可自定義),一個是配置文件(mongo.conf)

1、數據文件夾

mkdir db

2、日誌文件夾

mkdir logs

3、創建配置文件

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /usr/local/mongodb/logs/mongod.log #日誌文件存放目錄

# Where and how to store data.
storage:
  dbPath: /usr/local/mongodb/db #數據文件存放目錄
  journal:
    enabled: true

# how the process runs
processManagement:
  fork: true  #以守護程序的方式啟用,即在後臺運行
  pidFilePath: /usr/local/mongodb/mongod.pid  # location of pidfile

# network interfaces
net:
  port: 27017 #端口
  bindIp: 0.0.0.0  # Listen to local interface only, comment to listen on all interfaces.端口對外開放

4、效果圖

技術分享圖片

5、啟動

MongoDB 的 bin 目錄下執行:

./mongod --config /usr/local/mongodb/mongod.conf

四、添加用戶

MongoDB 安裝完成後默認是不用驗證密碼的,這在生產環境上是絕對不允許存在的,我們需要創建用戶,並增加用戶驗證!

如果將一個用戶添加到admin數據庫,這個用戶將自動獲得所有數據庫的權限,即管理員賬戶。如果將一個用戶添加到普通的數據庫,這個用戶只能獲得該數據庫的相關權限,即普通用戶。

切換至MongoDB的 bin目錄下:

1、添加管理員賬戶

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

2、啟用MongoDB 授權

在 mongod.conf 後加上:

security:
  authorization: enabled //啟用授權

3、重啟生效

關閉MongoDB服務器:

./mongod -shutdown -dbpath=/usr/local/mongodb/db

授權後的啟動MongoDB服務器:

./mongod --dbpath=/usr/local/mongodb/db --logpath=/usr/local/mongodb/logs/mongod.log --logappend --port 27017 --auth --fork

4、認證用戶

./mongo
>use admin
>show dbs //會提示用戶未驗證
>db.auth("root","password")
>show dbs
admin   0.001GB
config  0.000GB
local   0.000GB

5、添加普通用戶

> use lxcx //創建數據庫
> db.createUser({user:"summer",pwd:"summer",roles:[{"role" : "readWrite","db" : "lxcx"}]}); //創建這個數據庫的讀寫權限用戶

user:用戶名

pwd:密碼

roles:指定用戶的角色,可以用一個空數組給新用戶設定空角色;在roles字段,可以指定內置角色和用戶定義的角色。role裏的角色可以選:

Built-In Roles(內置角色):
    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
Read:允許用戶讀取指定數據庫
readWrite:允許用戶讀寫指定數據庫
dbAdmin:允許用戶在指定數據庫中執行管理函數,如索引創建、刪除,查看統計或訪問system.profile
userAdmin:允許用戶向system.users集合寫入,可以找指定數據庫裏創建、刪除和管理用戶
clusterAdmin:只在admin數據庫中可用,賦予用戶所有分片和復制集相關函數的管理權限。
readAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的讀權限
readWriteAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的讀寫權限
userAdminAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的userAdmin權限
dbAdminAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的dbAdmin權限。
root:只在admin數據庫中可用。超級賬號,超級權限

Linux 安裝 MongoDB