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:123456@192.168.200.158:27017/dbName");
8 mongodb维护
默认情况下用户只能操作自己所在的数据库的数据,即使是超级管理员也不例外。
若需要操作其他数据库则需要相对应数据库的用户授权。
如
Use dbName
Db.auth(“dbUser”,”123456”)
下面图中演示的是超管如何查看其他数据库中的集合信息。
删除数据库
use dbName
db.dropDatabase()
删除用户
use dbName
db.dropUser("userName")
查看用户
db.getUsers()