標籤:admin key use get 示範 options 刪除 sed nan
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 線上環境按照及配置(授權方式啟動)