【问题标题】:windows 10 mongodb "show dbs" "missing ; before statement"windows 10 mongodb "show dbs" "missing ; before statement"
【发布时间】:2017-09-15 06:17:48
【问题描述】:

是的,我刚刚开始了解 MongoDB。因此,我昨天在“程序文件”文件夹中安装了 MongoDB,并试图弄清楚如何使用它。

今天我只是尝试重新启动它。但是出了点问题。为了更好地理解开头,我卸载了 MongoDB,删除了 MongoDB、数据、日志文件夹,并直接在 c:/ 上再次安装了 MongoDB。

启动服务器:

mongod --directoryperdb --dbpath c:\mongodb\data\db --logpath c:\mongodb\log\mongo.log --logappend --auth --rest --install

启动服务:

net start MongoDB

还有 Mongo shell:

mongo

现在我尝试“显示 dbs”,结果如下:

>show dbs
2017-09-14T10:41:49.541+0200 E QUERY    [thread1] Error: listDatabases failed:{
    "ok" : 0,
    "errmsg" : "not authorized on admin to execute command { listDatabases: 1.0 }",
    "code" : 13,
    "codeName" : "Unauthorized"
} :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
Mongo.prototype.getDBs@src/mongo/shell/mongo.js:62:1
shellHelper.show@src/mongo/shell/utils.js:769:19
shellHelper@src/mongo/shell/utils.js:659:15
@(shellhelp2):1:1

我还没有做更多。我该怎么做才能显示 dbs?

当然,我尝试了以下帖子的学习,但没有成功: show dbs gives "Not Authorized to execute command" error

【问题讨论】:

  • 请参考下面的回答stackoverflow.com/a/29472184/5089586
  • 与其沮丧并说“我当然试过”之类的话,不如说“向我们展示你尝试了什么”。该错误表明您的用户未获得授权。因此,请展示您如何设置您尝试使用的用户。同样简单地输入mongo 不会“验证用户”。输入mongo --help 并实际阅读有关如何提供用户名和密码的用法。
  • 对于新安装,我没有创建用户。不幸的是,我无法弄清楚用户是否已经完成了卸载。

标签: mongodb syntax


【解决方案1】:

看起来您正在使用 --auth 启动数据库,但没有使用用户名/密码连接。如果您尚未创建任何用户,则删除 --auth 并重新启动 db。然后你就可以连接了。

【讨论】:

  • 因为 monogdb 已经在运行,所以我在 msconfig 中停用了该服务。现在我再次启动它: mongod --directoryperdb --dbpath c:\mongodb\data\db --logpath c:\mongodb\log\mongo.log --logappend --rest --install 如果尝试连接“mongo”连接失败
  • 好的,我忘了再次启动服务。现在连接正常,我将尝试处理管理员
  • 看来,我首先需要添加一个管理用户角色。现在我可以使用 show dbs 列出数据库。你不这么认为,请给我一个标志。我真的很想了解mongodb。
  • 第一次启动mongo时,不要开启auth。然后,您将能够毫无问题地连接。启动后,您可以连接并创建管理员用户。然后你可以用 auth 重启 mongo。现在使用之前创建的管理员用户进行连接,那么您将不会有任何问题。这只是一种方式,可能还有其他方式。
猜你喜欢
  • 2017-10-19
  • 1970-01-01
  • 2017-12-18
  • 1970-01-01
  • 2016-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多