Linux服务器安装MongoDB创建管理员用户提示createUser需认证怎么解决
解决方案
按以下顺序排查修复即可:
1. 重启MongoDB加载配置
你修改/etc/mongod.conf后没有重启服务的话,配置不会生效,原有运行的实例还是保持开启认证的状态,执行以下命令重启:
sudo systemctl restart mongod # 执行后确认服务运行状态正常 sudo systemctl status mongod
2. 验证认证关闭状态生效
重启后直接执行mongo命令进入shell,运行以下命令确认认证已关闭:
db.adminCommand({getParameter: 1, authEnabled: 1})
返回结果中authEnabled值为false就代表配置已生效。
3. 创建主管理员用户
切换到admin库后执行创建命令即可:
use admin db.createUser( { user: "root", pwd: "自定义强密码", roles: [ { role: "root", db: "admin" } ] } )
提示创建成功后,即可把/etc/mongod.conf中的authorization改回enabled,再次重启服务就可以用刚创建的用户认证登录。
其他异常排查
- 确认你修改的是实际生效的配置文件:手动编译安装的MongoDB可能默认加载的配置路径不是
/etc/mongod.conf,可以执行ps aux | grep mongod查看启动参数中--config指定的实际配置路径 - 确认登录shell没有带认证参数:如果之前登录时加了
-u/-p参数,即使服务端关闭了认证也可能触发异常,直接无参数执行mongo登录即可
内容的提问来源于stack exchange,提问作者TheDanniCraft
相关产品推荐
相关产品推荐

