1. 程式人生 > >MongoDB 線上環境按照及配置(授權方式啟動)

MongoDB 線上環境按照及配置(授權方式啟動)

users inux 相對 mongos emd 刪除數據 ocl conf get

1創建文件repo文件

#vim /etc/yum.repos.d/mongodb-org-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.4.asc

2安裝 MongoDB 包

#yum install -y mongodb-org

(可選)當新的版本可用的時候,yum 會更新這些包,為防止這些“無意”的更新,添加下列行到 /etc/yum.conf 文件

exclude=mongodb-org,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools

3關閉 selinux

$sudo sed -i ‘/^[^#]/s/\(SELINUX=\)\([a-z]\+\)/\1disabled/‘ /etc/sysconfig/selinux

$sudo sed -i ‘s/^SELINUX=.*/SELINUX=disabled/‘ /etc/selinux/config

$sudo setenforce 0

4新建超級管理員賬號

#mongo

>use admin

db.createUser(

{

user: "superadmin",

pwd: "123456",

roles: [ { role: "userAdminAnyDatabase",db:"admin" } ]

}

)

>exit

5修改服務啟動為授權方式啟動

#vim /lib/systemd/system/mongod.service

Environment="OPTIONS=-f /etc/mongod.conf --auth "

#systemctl daemon-reload

#systemctl restart mongod

6新建的數據庫及管理員賬號

#mongo -u "superadmin" -p "123456" --authenticationDatabase "admin"

> use dbName

db.createUser(

{

user: "dbUser",

pwd: "123456",

roles: [ { role: "dbOwner", db: "dbName" } ]

}

)

7 程序中使用授權連接串

client = new MongoClient("mongodb://dbUser:[email protected]:27017/dbName");

8 mongodb維護

默認情況下用戶只能操作自己所在的數據庫的數據,即使是超級管理員也不例外。

若需要操作其他數據庫則需要相對應數據庫的用戶授權。

Use dbName

Db.auth(“dbUser”,”123456”)

下面圖中演示的是超管如何查看其他數據庫中的集合信息。

刪除數據庫

use dbName

db.dropDatabase()

刪除用戶

use dbName

db.dropUser("userName")

查看用戶

db.getUsers()

MongoDB 線上環境按照及配置(授權方式啟動)