【问题标题】:OperationFailure: database error: not authorized for query on database.system.namespacesOperationFailure:数据库错误:未授权查询 database.system.namespaces
【发布时间】:2015-08-18 12:39:42
【问题描述】:

我是heroku [插件:mongolab]上使用django mongodb的初学者电梯。

heroku run python manage.py syncdb

运行python manage.py syncdb 连接到终端... up, run.2332 创建表...

OperationFailure: database error: not authorized for query on database.system.namespaces consider editing privileges on the basis of data mongo

.

>use admin
>db.addUser({ user: "myadmin", pwd: "1234", roles: ["userAdminAnyDatabase"] })

但得到:

Error: couldn't add user: not authorized on admin to execute command 

提前致谢。

【问题讨论】:

  • 部署heroku在这里测试这个:link,但错误出现:link,本地运行良好问题是在heroku部署中产生的。
  • 你是如何登录到 mongo shell 的?您需要使用特权用户进行身份验证。

标签: django mongodb heroku django-nonrel django-syncdb


【解决方案1】:

Heroku Postgres 不允许创建用户。您需要使用DATABASE_URL 中提供的连接字符串。禁止创建/删除数据库和创建用户等操作。

【讨论】:

    【解决方案2】:

    我认为这更像是一个 heroku 问题而不是一个 django 问题。似乎不允许您在 mongodb 实例上添加用户;您是否发送了用户名和密码以插入 django 设置?

    【讨论】:

      【解决方案3】:

      首先你应该在没有任何身份验证的情况下连接到你的 mongodb 终端,然后你尝试创建你想要做的用户或用户角色。

      查看此链接了解更多信息。 here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-10-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-03
        • 2015-02-14
        • 1970-01-01
        相关资源
        最近更新 更多