CentOS7安裝部署MongoDB


1.下載

  官方下載地址:https://www.mongodb.com/download-center/community

2.解壓

tar -zxvf mongodb-linux-x86_64-rhel70-5.0.3.tgz

3.配置環境變量

vi /etc/profile

在配置文件中添加如下內容(路徑應對應mongodb安裝路徑)

export MONGODB_HOME=/opt/mongodb-linux-x86_64-rhel70-5.0.3
export PATH=$PATH:${MONGODB_HOME}/bin

記得使環境變量生效

source /etc/profile

4.相關配置

創建db目錄和log目錄

cd /opt/mongodb-linux-x86_64-rhel70-5.0.3
mkdir -p ./data/db
mkdir -p ./logs
touch ./logs/mongodb.log

創建mongodb.conf配置文件,內容如下(路徑應對應之前創建的db/log目錄):

#端口號
port=27017
#db目錄
dbpath=/opt/mongodb-linux-x86_64-rhel70-5.0.3/data/db
#日志目錄
logpath=/opt/mongodb-linux-x86_64-rhel70-5.0.3/logs/mongodb.log
#后台
fork=true
#日志輸出
logappend=true
#允許遠程IP連接
bind_ip=0.0.0.0

5.啟動測試

mongod --config mongodb.conf
mongo

 連接成功!

6.設置開機自啟動

編輯開機啟動文件

vi /etc/rc.d/rc.local

加入如下語句,以便啟動時執行:

mongod --config /opt/mongodb-linux-x86_64-rhel70-5.0.3/mongodb.conf      #mongodb.conf修改為對應路徑

可以重啟服務器,檢測是否設置成功:

7.設置用戶名、密碼與數據庫連接

通過向表admin中添加用戶來設置

如添加root用戶:

use admin  
db.createUser({
  user: 'root',  // 用戶名
  pwd: '12345678',  // 密碼
  roles:[{
    role: 'root',  // 角色
    db: 'admin'  // 數據庫
  }]
})

 查看是否創建成功:

show users;

在mongodb.conf配置文件中開啟驗證,添加如下語句:

auth=true

 重啟MongoDB驗證是否設置成功:

顯示連接成功,但是當我們輸入其他指令時,會提示沒有權限

登錄數據庫:

// 方式一
mongo
use admin
db.auth('root', '12345678')

// 方式二
mongo admin -uroot -p12345678

這時候我們就可以正常訪問和操作數據了。

除了可以設置數據庫的超級管理員以外,還可以給每個數據庫設置單獨的管理員。其只有操作單獨數據的一定權限。

use test  // 如果數據庫不存在,則創建數據庫,否則切換到指定數據庫
db.createUser({
  user: 'testadmin',  // 用戶名
  pwd: '12345678',  // 密碼
  roles:[{
    role: 'readWrite',  // 角色
    db: 'test'  // 數據庫名
  }]
})

隨便用一個MongoDB可視化工具訪問測試是否連接成功(如MongoDB Compass\NoSQLBooster for MongoDB)

 

 連接成功:

 常用命令:

show users  // 查看當前庫下的用戶

db.dropUser('testadmin')  // 刪除用戶

db.updateUser('root', {pwd: '87654321'})  // 修改用戶密碼

db.auth('root', '87654321')  // 密碼認證

MongoDB 數據庫默認角色

1 數據庫用戶角色:read、readWrite
2 數據庫管理角色:dbAdmin、dbOwner、userAdmin
3 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager
4 備份恢復角色:backup、restore
5 所有數據庫角色: readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6 超級用戶角色:root


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM