MongoDB快速入门教程 (3.1)

3.MongoDB进阶

#3.1.权限验证

以下内容适用于Mac系统用户,window系统用户请看后面文档

#3.1.1.创建超级管理员用户

默认情况下连接mongodb是不需要用户名和密码的,这样不安全,我们需要进行安全配置,让连接数据库的时候经过认证才能连接

具体配置步骤如下:

1.修改mongodb配置文件,开启安全验证

如果是brew安装的mongodb,mac系统下地址mongodb默认配置文件 /usr/local/etc/mongod.conf,你需要将你的配置文件写成这样:

systemLog:
  #日志为文件
  destination: file
  #日志存放路径
  path: /data/mongodb/log/mongo.log
  logAppend: true
# 数据库存放路径
storage:
  dbPath: /data/mongodb/db/
net:
  bindIp: 127.0.0.1
#进程
processManagement:
# 守护进程方式
  fork: true
# 开启权限验证
security:
  authorization: enabled

上面配置文件中,日志存放路径和数据库存放路径需要存在,也就是说你需要先去把这些文件夹创建好,并且给上读写权限

2.重启mongodb服务

sudo mongod --config /usr/local/etc/mongod.conf

重启服务的时候是需要带上配置文件的,这样才能让你的配置生效,需要注意的是,在配置文件中,我们设置了守护进程的方式(fork: true),这种方式允许服务在后台运行

3.创建超级管理员用户名

首先,运行连接mongodb

mongo

接着,选中数据库

use admin

开始创建用户名

db.createUser({
user:'admin',
pwd:'123456', roles:[{role:'root',db:'admin'}]
})

验证用户名和密码

db.auth("admin", "123456")

上面命令如果返回1 表示验证成功, 0 表示验证失败

如果验证成功,即可正常使用了

show dbs

除了上面通过db.auth来验证超级管理员权限以外,还可以在连接的时候,直接给用户名和密码

mongo admin -u admin -p 123456

#3.1.2.创建普通用户

普通用户就是某个数据库的用户,这个用户只有某个数据库的权限

要创建普通用户,你必须具有超级管理员的权限,因此,得先以超级管理员登录进去

mongo admin -u admin -p 123456

接下来,选中你要设置权限的数据库

 use nodeing_cms

创建普通用户

db.createUser({user: "nodeing_cms_user", pwd: "nodeing123", roles: [{ role: "dbOwner", db: "nodeing_cms" }]})

#3.1.3.windows用户权限验证设置

1.连接mongodb数据库

mongo

2.设置管理员密码

db.createUSer({
  user: "admin",
  pwd: "123456",
  roles: [{role: "root", db: "admin"}]
})

3.修改配置文件,开启权限验证

配置文件位置:在你安装目录下面找,例如我的安装目录在c盘,具体位置如下: C:\Program Files\MongoDB\Server\4.0\bin\mongod.cfg

security:
  authorization: enabled

4.重启服务

image

5.连接服务器

mongo admin -u admin -p 123456

你可能感兴趣的:(MongoDB快速入门教程 (3.1))