验证用户时出现以下错误:purchase_user @ purchase失败。MongoDB-CR身份验证失败。当我通过浏览器访问Web服务时,用户文档中的凭证丢失。
但是我能够从mongo验证purchase_user,它返回1。
转到mongoDB控制台并删除当前用户,并将authSchema版本设置为3而不是5,在mongo控制台中遵循以下命令-
mongo
use admin
db.system.users.remove({}) <== removing all users
db.system.version.remove({}) <== removing current version
db.system.version.insert({ "_id" : "authSchema", "currentVersion" : 3 })
现在重新启动mongod并创建新用户,然后它将正常工作。
注意:如果在生产环境中使用update,则仅在test db中使用remove命令。
如果删除所有用户并在配置中启用了身份验证(或--auth
在Kubernetes掌舵图表上默认设置的参数),则无法再访问MongoDB。禁用身份验证,创建新用户然后重新启用它是必需的。
在Kubernetes上,您需要编辑参数并添加--noauth
为参数,因为与经典安装的MongoDB相比,它不是默认值。请参阅CLI文档以获取有关--noauth
和的更多信息--auth
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句