前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何将MongoDB设置成自启动服务,并给admin用户授权

如何将MongoDB设置成自启动服务,并给admin用户授权

作者头像
Enjoy233
发布2019-03-05 15:45:39
2K0
发布2019-03-05 15:45:39
举报

如何将MongoDB设置成自启动服务,并给admin用户授权

1.将MongoDB设置为自启动服务 在Windows中: 比如已安装MongoDB v3.6, 并且MongoDB的安装路径是”D:\Program Files\MongoDB”. 创建文件夹D:\mongodb\logs, 然后在该目录下新建文件mongodb.log.

用管理员权限打开cmd, 输入:

D:\Program Files\MongoDB\Server\3.6\bin>mongod --logpath "D:\mongodb\logs\mongodb.log" --logappend --dbpath "D:\mongodb\data" --directoryperdb --serviceName "MongoDB" --serviceDisplayName "MongoDB" --install

报错提示: MongoDB 服务无法启动。 发生服务特定错误: 100. (A Service Specific error occurred, error code: 100) 请键入 NET HELPMSG 3547 以获得更多的帮助。

解决办法: 用管理员权限打开cmd, 输入:

D:\Program Files\MongoDB\Server\3.6\bin>taskkill /F /IM mongod.exe
D:\Program Files\MongoDB\Server\3.6\bin>mongod.exe --logpath D:\mongodb\logs\mongodb.log --logappend --dbpath D:\mongodb\data --directoryperdb --serviceName MongoDB --remove
D:\Program Files\MongoDB\Server\3.6\bin>mongod --logpath "D:\mongodb\logs\mongodb.log" --logappend --dbpath "D:\mongodb\data" --directoryperdb --serviceName "MongoDB" --serviceDisplayName "MongoDB" --install

删除路径”D:\mongodb\data”下的两个文件mongod.lock和storage.bson. 然后在管理员权限打开的cmd中输入”net start MongoDB”, 顺利启动.

2.给MongoDB的admin用户授权 当安装的是MongoDB v3.0.8或v3.0.15, 出现了下述报错: CONTROL Hotfix kb2731284 or a later update is not installed, will zero-out files.

尝试在本机(win7企业版)安装补丁kb2731284(从微软的邮件中得到), 网上并无有效的解决方案。 将MongoDB升级到v3.6可绕过上述问题。

而此时若要使用mongod.cfg文件来为MongoDB的admin用户授权,mongod.cfg文件的内容应如下:

    systemLog:
       destination: file
       path: "D:\\mongodb\\log\\mongodb.log"
       logAppend: true
    storage:
       dbPath: "D:\\mongodb"
       journal:
          enabled: true
       engine: wiredTiger
    net:
       port: 27017
    setParameter:
       enableLocalhostAuthBypass: false

保存文件 D:\ProgramFiles\MongoDB\Server\3.6\bin\mongod.cfg.

然后将文件mongod.cfg中的 enableLocalhostAuthBypass值设置为true, 保存文件。

在管理员权限打开的cmd中输入如下命令:

"D:\ProgramFiles\MongoDB\Server\3.6\bin\mongod.exe" "--config=D:\ProgramFiles\MongoDB\Server\3.6\bin\mongod.cfg" --auth --install

如果mongodb service没有运行, 则输入 net start mongodb启动之。

在cmd中输入:

C:\>net start MongoDB

> use admin
> db.createUser("admin", "yourpassword", roles: ["root"]})
> db.auth(user, yourpassword)

从命令行关闭MongoDB(net stop MongoDB),再启动之(net start MongoDB)。 将文件mongod.cfg中的enableLocalhostAuthBypass值设置为false, 保存文件。

ps: 由于MongoDB v3.6(v3.2后的所有版本)已将net.http选项移除,mongod.cfg文件中不能包含net.http选项的相关设置。Refer: https://docs.mongodb.com/manual/reference/configuration-options/

此时MongoDB的admin用户的授权顺利完成~

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年06月30日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 如何将MongoDB设置成自启动服务,并给admin用户授权
相关产品与服务
云数据库 MongoDB
腾讯云数据库 MongoDB(TencentDB for MongoDB)是腾讯云基于全球广受欢迎的 MongoDB 打造的高性能 NoSQL 数据库,100%完全兼容 MongoDB 协议,支持跨文档事务,提供稳定丰富的监控管理,弹性可扩展、自动容灾,适用于文档型数据库场景,您无需自建灾备体系及控制管理系统。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档