2014-02-18 228 views
3

您好,我有一个带有Bitnami MEAN堆栈的新AWS服务器。Mongo身份验证问题

我是服务器上的root用户,我在命令行启动了mongo。

当我尝试做任何事情(除了“使用测试”等,或“用管理员”),比如“秀星展”

我收到以下错误:

show dbs

listDatabases failed:{ "ok" : 0, "errmsg" : "unauthorized" } at src/mongo/shell/mongo.js:46 

我知道我在做权限方面有问题,我只是不知道它是什么。

当我看着mongodb.config,一切看起来不错,但我看到:

# Turn on/off security. Off is currently the default 
    #noauth = true 
    auth = true 

而且,可能相关的,当我尝试运行的mongod,我得到“/数据/ DB”错误不存在,或者如果我使目录,我得到“没有足够的空间问题”

谢谢你的时间。

+0

Offtopic验证。不是一个编程问题。这是更多的服务器/数据库配置 - 尝试DBA站点。 –

+0

我见过这种类型的问题经常在这里问(这是我首先看的地方)。什么是DBA网站? – ElChapo

+0

你怎么连接mongo shell?例如,只需输入命令'mongo'或者通过'mongo --username admin --pasword pwd'输入主机,用户名和密码 –

回答

3

如果应用程序已经运行,则不需要再次运行mongod,并且很可能已经是。你也不是说你如何尝试连接,这可能是你的问题。

我建议阅读这解释了什么是默认的用户身份验证,以及如何连接relevant documentation

$ mongo admin --username root --pasword YOURPASSWORD 

其中默认密码包含在文档页面。还有关于为您的应用程序设置新用户的信息。

欲了解更多信息,请参阅其中有很多例子官方MongoDB的文档:

http://docs.mongodb.org/manual/administration/security-access-control/

+0

谢谢你的链接(感到惊讶,我没有找到那个:/)我会探索这个。有关信息,我使用我的pem文件登录到远程AWS服务器。那么我只需在命令行键入mongo(值得注意的是,当我尝试运行它时,mongod似乎会抛出一个错误,所以我不认为它运行,并且我不确定它为什么需要运行,所以显然我有一些要学习的东西,我会回来的,现在谢谢你!) – ElChapo

3

你能够成功连接到数据库,但是你没有这个管理员权限。

如果您知道管理员的用户名和密码,您可以通过

db.auth("user_name",'passwd'); 
+0

我会研究这个。 – ElChapo