fre*_*cks 3 authentication mongodb docker server
这就是我的情况。我有一个 mongodb docker 容器实例,我需要更改管理员密码。现在,我有了使用主机、IP 和凭据可以很好地连接到 mongodb 的凭据。我可以通过 ssh 访问服务器,并且需要更改管理员密码。但如果我这样做的话
mongo manager --port 27017 -u "admin" -p "--------"
--authenticationDatabase "manager"
Run Code Online (Sandbox Code Playgroud)
给我一个身份验证错误。我无法运行任何管理命令,例如: db.auth('admin', 'password')
我的问题是,如果我这样做,我该如何阻止容器内的 mongo?
docker exec -it mongodb bash
Run Code Online (Sandbox Code Playgroud)
任何其他解决方法都可以。目标是更改密码或创建新的管理员用户来控制用户和角色。
十分感谢你的帮助。如果需要更多信息,请告诉我。
您确定您的身份验证数据库是“manager”吗?
\n\n无论如何,您不需要停止 mongo 进程来与数据库交互,而是使用 mongo shell 验证具有必要权限的用户。
\n\n访问正在运行的 mongo 容器:
\n\n$ docker exec -it \xc2\xabcontainer_name\xc2\xbb bash
使用 mongo shell 进行身份验证:
\n\n$ mongo -u admin -p 123admin --authenticationDatabase admin
通过身份验证后,运行 shell 脚本以切换到保存用户数据的数据库。
\n\n$ 使用管理员
运行changeUserPassword命令更改密码:
\n\n$ db.changeUserPassword("admin", "admin123")
就是这样。
\n| 归档时间: |
|
| 查看次数: |
3494 次 |
| 最近记录: |