mongoDB4.0x 初始化建库创建用户(db version v3.4.1亲测可用)

版权声明:本文为CSDN博主「han_chuang」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

 

本次转载 实测 db version v3.4.1,稍有补充和改动(感谢原作者,很方便,一次成功)

 

1、以无访问控制模式启动mongodb

管理员权限打开cmd窗口

官方语句:

mongod --port 27017 --dbpath / var / lib / mongodb

如果你把bin目录配置到了环境变量中,那么不用上面的,直接执行下面的就行:

net start mongodb

mongoDB4.0x 初始化建库创建用户(db version v3.4.1亲测可用)_第1张图片

ps:mongodb3.x版本之后,在安装过程中就已经自动把服务加到window系统中了,所以不需要乱七八糟配置去配置服务,可以参考这个看一下mongodb4.0的安装方式

2、连接到实例

mongo --port 27017

3、创建超级用户,这个用户可以管理所有用户的增删改以及权限控制

admin这个库是mongodb自动带的,专门管理用户和权限的,现在需要创建一个超级管理员权限(拥有userAdminAnyDatabase和readWriteAnyDatabase两个权限)的用户。用户名和密码随便写,但是角色必须是这两个:

use admin

db.createUser(

  {

    user: "myUserAdmin",

    pwd: "123456",

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

  }

)

db.createUser({user:"myUserAdmin", pwd:"123456", roles:[{role:"userAdminAnyDatabase", db:"admin"}, "readWriteAnyDatabase"]})

创建成功后会打印出来结果:

mongoDB4.0x 初始化建库创建用户(db version v3.4.1亲测可用)_第2张图片 

4、然后关掉mongodb服务

官方的方法是在当前实例下,执行:

db.adminCommand( { shutdown: 1 } )

或者:

net stop mongodb

再或者去任务管理器关掉就行了

5、以授权方式启动mongodb服务,并验证权限

启动命令最后加入  --auth 

或者:

设置配置文件mongod.cfg(在mongo安装目录的bin目录下),以官方方式打开授权认证:

 

管理员权限运行cmd,并输入以下命令启动mongodb:

net start mongodb 

验证权限有两种方式

连接实例的时候就验证

mongo --port 27017 -u "myUserAdmin" --authenticationDatabase "admin" -p

之后会让你输入密码:输入123456

mongoDB4.0x 初始化建库创建用户(db version v3.4.1亲测可用)_第3张图片 

连接实例之后,使用数据库的时候验证

先连接实例:

mongo --port 27017

然后验证:(用户名密码是上面自己设置的,要记下来)

use admin

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

返回一个:1,就代表成功了

 

6、给其他数据库创建用户权限

一旦通过用户管理员身份验证,就可以使用 db.createUser()创建其他用户。可以将任何内置角色或用户定义的角色分配给用户,角色可以看官网介绍

我这里创建了一个mytest数据库:

user mytest

这条语句就是,数据库存在则转到该数据库,不存在则创建之后转到该数据库

然后创建用户

use mytest

db.createUser(

  {

    user: "myTester",

    pwd: "123456",

    roles: [ { role: "readWrite", db: "mytest" },

             { role: "read", db: "hanchuang" } ]

  }

)

db.createUser({user:"myTester", pwd:"123456", roles: [{role:"readWrite", db: "mytest"}]})

mongoDB4.0x 初始化建库创建用户(db version v3.4.1亲测可用)_第4张图片 

创建成功之后,断开实例连接:

exit

然后重新以验证方式登录实例,这里使用第一种方式(连接时验证):

mongo --port 27017 -u "myTester" --authenticationDatabase "mytest" -p

输入密码:123456,搞定!

mongoDB4.0x 初始化建库创建用户(db version v3.4.1亲测可用)_第5张图片 

现在你有权在mytest中执行读写操作了:

use mytest

 

db.users.insertOne({name:"hanchuang",phone:"133xxxxxxx"})

mongoDB4.0x 初始化建库创建用户(db version v3.4.1亲测可用)_第6张图片 

查询一下插入结果:

 db.users.find().pretty()

mongoDB4.0x 初始化建库创建用户(db version v3.4.1亲测可用)_第7张图片 

ps:mongodb3.x版本之后,在安装过程中就已经自动把服务加到window系统中了,所以不需要乱七八糟配置去配置服务,可以参考这个看一下mongodb4.0的安装方式

 

你可能感兴趣的:(mongodb)