MongoDB添加用户认证

安装版本:db version v4.2.6
MongoDB默认安装并没有开启用户名密码登录,这样太不安全。首先开启一个无需验证用户的MongoDB服务后,进入MongoDB的shell控制台创建用户:

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

创建用户后,关闭连接,进入正题:
安装路径: D:PROGRA~1\MongoDB\Server\4.2\bin\
配置文件中添加authorization项 ,配置文件地址如下,没有可创建D:PROGRA~1\MongoDB\Server\4.2\bin\mongod.cfg
配置文件内容如下:

# mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# Where and how to store data.
storage:
    dbPath: D:\PROGRA~1\MongoDB\Server\4.2\data\db
    journal:
        enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:

# where to write logging data.
systemLog:
    destination: file
    logAppend: true
    path: D:\PROGRA~1\MongoDB\Server\4.2\log\mongod.log

# network interfaces
net:
    port: 27017
    bindIp: 127.0.0.1


#processManagement:


security:
    authorization: enabled
  
  
setParameter:
    enableLocalhostAuthBypass: false 
  
#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options:

#auditLog:

#snmp:

配置好之后注册服务:

D:\PROGRA~1\MongoDB\Server\4.2\bin\mongod.exe 
--config "D:\PROGRA~1\MongoDB\Server\4.2\bin\mongod.cfg" 
--install --serviceName "MongoDB" --serviceDisplayName "MongoDB"

启动服务:
net start MongoDB
遇到的问题:
Error1:
F CONTROL [main] Failed global initialization: BadValue: dbPath requires an absolute file path with Windows services
Error2:
Error parsing YAML config file: yaml-cpp: error at line 2
以上都是配置文件配置问题,注意文件中不要出现单引号,双引号之类的;
配置项每层缩进都是4个空格,不要用tab缩进
Error3:
控制台显示服务未注册
这个一般是注册服务的命令有引号错误或者路径错误,检查有没有少斜线。正常的注册完服务并启动时,会显示服务已开启。

Microsoft Windows [版本 10.0.18363.657]

HLJYY@YJY-108 F:\Program
# D:\PROGRA~1\MongoDB\Server\4.2\bin\mongod.exe --config "D:\PROGRA~1\MongoDB\Server\4.2\bin\mongod.cfg" --install --serviceName "MongoDB" --serviceDisplayName "MongoDB"

HLJYY@YJY-108 F:\Program
# net start MongoDB
MongoDB 服务正在启动 .
MongoDB 服务已经启动成功。

HLJYY@YJY-108 F:\Program
#

新开窗口进入mongodb的shell控制台验证:

Microsoft Windows [版本 10.0.18363.657]

HLJYY@YJY-108 F:\Program
# mongo
MongoDB shell version v4.2.6
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("46e409af-7220-4fed-965c-bb03099fec8d") }
MongoDB server version: 4.2.6
> show dbs
> use admin
switched to db admin
> db.auth("admin","123456")
1
> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
test    0.000GB
>                                                                                      
                                                                                    

参考链接:
Mongodb学习(4)通过配置文件启动mongod
windows系统,MongoDB开启用户验证
解决“Error parsing YAML

权限认证已ok

你可能感兴趣的:(MongoDB添加用户认证)