MongoDB 4.4.15使用db.updateUser()时SCRAM-SHA-256不支持问题
解决MongoDB 4.4更新用户时SCRAM-SHA-256不支持的问题
问题根源
你的MongoDB实例启动时未将SCRAM-SHA-256加入允许的认证机制列表,默认仅启用SCRAM-SHA-1,导致更新用户时触发不支持的错误。
解决步骤
1. 修改MongoDB认证机制配置
需要在实例配置中添加SCRAM-SHA-256,可通过两种方式实现:
方式一:配置文件(推荐)
编辑mongod.conf(路径根据部署环境调整),在security节点下补充配置:
security: authorization: enabled authMechanisms: SCRAM-SHA-1,SCRAM-SHA-256
注:多个机制用逗号分隔,不要添加空格。
方式二:命令行启动参数
若通过命令行启动mongod,添加--authMechanisms参数:
mongod --auth --authMechanisms SCRAM-SHA-1,SCRAM-SHA-256 --replSet your_replset_name ... # 保留其他原有启动参数
2. 重启MongoDB实例
修改配置后必须重启所有副本集节点,确保配置生效。
3. 重新执行用户更新命令
重启完成后,再次运行原命令即可成功设置SCRAM-SHA-256认证:
use admin db.updateUser( "the_username", { pwd: passwordPrompt(), mechanisms: [ "SCRAM-SHA-256" ], passwordDigestor: "server" } )
内容的提问来源于stack exchange,提问作者Dimadozen
相关产品推荐
相关产品推荐

