【问题标题】:mongodb returns unauthorized on copydatabasemongodb 在 copydatabase 上返回未经授权
【发布时间】:2018-09-27 20:17:14
【问题描述】:

我使用具有 readWriteAnyDatabase、dbAdminAnyDatabase、userAdminAnyDatabase、clusterAdmin 但仍无法复制数据库的用户登录。我可以分别在两个数据库中访问和创建集合。

> use admin
> db.auth('user', 'password')
> db.copyDatabase('database1', 'database2')
{ "ok" : 0, "errmsg" : "unauthorized" }

MongoDB版本是2.4.5

【问题讨论】:

  • 看这里:stackoverflow.com/questions/16854898/…。看起来同样的问题
  • 但那里没有解决方案。如果数据库大小太大,那么为每个集合复制记录将非常缓慢并且容易出错。我们需要通过单个命令在服务器上复制数据库。

标签: mongodb


【解决方案1】:

这个目前无法使用。

源中有一条注释:https://github.com/mongodb/mongo/blob/master/src/mongo/db/cloner.cpp line 704 "注意:在启用身份验证的情况下不起作用,旧式用户除外。"

【讨论】:

【解决方案2】:

您需要登录 admin 数据库进行管理查询,并且她的用户需要在 admin 数据库中的权限

【讨论】:

    猜你喜欢
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 2018-11-05
    • 2016-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多