我正在尝试将沙箱数据库服务器版本升级到4.x.x。现在是3.6.6
为此,我需要创建一个管理员用户。
所以我连接到mongo shell,然后运行以下命令:
db.createUser( { user: "admin", pwd: "password", roles: [ { role: "root", db: "mydatabasename" } ] } );
但是,出现以下错误:
Error: couldn't add user: not authorized on admin to execute command
几个小时以来,我一直在努力解决这个问题。其他与stackoverflow相关的问题无法解决。
我想知道是否可以在非专用数据库服务器上这样做。如果没有,如何升级服务器版本?
任何帮助将不胜感激。
答案 0 :(得分:0)
如果这是您尝试在数据库中进行连接的第一个用户,则需要使用“ Localhost Exception”:
localhost异常允许您启用访问控制,然后 在系统中创建第一个用户。除了本地主机例外, 启用访问控制后,连接到localhost接口 并在管理数据库中创建第一个用户。第一个用户必须 有权创建其他用户,例如具有 userAdmin或userAdminAnyDatabase角色
创建用户如下:
use admin;
db.createUser( { user: "userAdminAnyDB", pwd: "password", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } );
db.auth("userAdminAnyDB", "password")
使用userAdminAnyDB凭据成功登录后,请为Db部署创建必需项。
db.createUser( { user: "admin", pwd: "password", roles: [ { role: "root", db: "mydatabasename" } ] } );