MongoDB 新建用户与权限设置 && MongoDB authentication failed 错误

mac2026-09-25  7

本文转载于:https://www.cnblogs.com/iTlijun/p/7169538.html 

0.随笔摘要:

MongoDB  安装配置MongoDB  权限控制MongoDB  注意事项 authentication failed

1.MongoDB  下载安装配置

        MongoDB官网 https://www.mongodb.com/  下载安装包, 直接next next安装即可,可自行选择安装路径。

   在MongoDB安装路劲的bin目录下新建配置文件mongo.config, 比如: D:\programs\mongoDB\bin\mongo.config

   mongo.config的内容:  

    dbpath=D:\data\db        #数据库存储位置 自己去新建对应的目录     logpath=D:\data\logs\mongo.log  #数据库日志位置 自己去新建对应的目录和文件     auth=false             #授权登入启禁用

  以配置文件启动MongoDB服务;管理员身份进入cmd窗口A,cd 进入安装路径,比如cd D:\programs\mongoDB\bin

  进入bin目录后,执行如下服务启动命令(注意你自建的配置文件路径):

D:\programs\mongoDB\bin>mongod --config D:\programs\mongoDB\bin\mongo.config --install --serviceName "MongoDB"

  如果以前安装和配置过MongoDB,但卸载了MongoDB,可是MongoDB服务还未删除,管理员身份执行命令进行删除服务:

D:\programs\mongoDB\bin>SC DELETE MongoDB

2.MongoDB  权限控制(用户密码)  此操作【一定】要在【命令行窗口】里进行创建用户!!!

  服务启动后,再多开一个cmd窗口B,cd 进入安装路径,比如cd D:\programs\mongoDB\bin,执行命令,创建授权root用户: 

D:\programs\mongoDB\bin>mongo MongoDB shell version v3.4.3 connecting to: mongodb://127.0.0.1:27017 MongoDB server version: 3.4.3 > db test > use admin switched to db admin   >db.createUser( { user: "root", pwd: "rootpwd", roles: [ {role:"root", db:"admin"} ] } )

 

 mongo的权限控制,用户密码配置可参考http://www.2cto.com/database/201608/533458.html ,这一块完成后,

  请在当前cmd窗口B,Ctrl+C 退出连接

  请在之前cmd窗口A,Ctrl+C 关闭MongoDB  服务,关闭窗口A

  修改和保存配置文件mongo.config:

    dbpath=D:\data\db        #数据库存储位置      logpath=D:\data\logs\mongo.log  #数据库日志位置      auth=true                 #改授权登入启用

   打开windows服务,Ctrl+Shift+ESC, 找到MongoDB服务,右键选择开启服务,那么项目或第三方工具连接MongoDB就必须使用用户名密码了!!!!

3.MongoDB  注意事项 authentication failed

  【一定】要在【命令行窗口】里进行创建用户!!!,项目或第三方工具才能使用用户名密码连接MongoDB指定的数据库!!!

    使用root权限在指定业务库,创建用户过程:

D:\programs\mongoDB\bin>mongo MongoDB shell version v3.4.3 connecting to: mongodb://127.0.0.1:27017 MongoDB server version: 3.4.3 > use admin #1数据库切换至admin管理库 switched to db admin > db.auth('root', 'rootpwd') #2验证root用户 1   > use mydb #3切换至业务库 在该库创建访问该库的用户 >db.createUser( #4 创建用户 { user: "mydbDBA", pwd: "123321", roles: [ {role:"dbOwner", db:"mydb"} ] } )

 

最新回复(0)