首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >锁定在mongodb副本集之外

锁定在mongodb副本集之外
EN

Stack Overflow用户
提问于 2016-06-28 17:57:43
回答 2查看 230关注 0票数 4

我有一个由3个成员组成的mongodb副本集(2.4版),其中'admin‘数据库的管理员用户没有'userAdminAnyDatabase’角色。

此角色是管理所有数据库上的用户所必需的。

我目前的角色是:"readWriteAnyDatabase","dbAdminAnyDatabase","clusterAdmin“

我尝试为自己更新角色或创建新用户,但我没有权限访问管理员数据库中的db.system.users。

我尝试设置noauth=true,但没有帮助。当移除keyFile时,数据库无法与其他成员同步(很明显),并卡在恢复状态。

我发现了一个引用独立数据库(无副本集)的similar question,所以它在这种情况下并没有真正的帮助。

在系统停机时间最短的情况下添加此角色的最佳方式是什么?

EN

回答 2

Stack Overflow用户

发布于 2016-07-06 11:23:13

我将使用mongodumpmongorestore来备份数据,然后使用正确的权限重建节点并恢复数据。

但是,此方法应为work

如果您已将自己锁在外面,则需要执行以下操作:

在不启用用户身份验证的情况下,使用-- instance

  • Remove和/或--
  1. 选项停止您的用户身份验证配置中的--instance
  2. Remove和/或-- MongoDB选项以禁用实例
票数 1
EN

Stack Overflow用户

发布于 2016-07-06 19:52:34

由于您使用的是Mongo2.4,这意味着您使用MMAP作为存储引擎。

我的建议是:

  1. 在每台主机上创建相似的副本集,但端口不同,并在与当前主机相同的介质上设置数据库目录。
  2. 将所有身份验证内容配置为与运行相同的内容
  3. 停止旧副本集local
  4. change数据库文件到新目录
  5. 启动它<代码>H217<代码>G218

由于移动文件到其他目录只是一个指针更改,这将需要几秒钟的时间。

请在实现之前进行测试。

欢迎任何评论!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38072988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档