Root用户无法使用MongoDB连接到任何数据库

时间:2017-06-19 21:19:06

标签: mongodb docker

我将MongoDB与Docker一起使用并希望自动化数据库创建。 我发现在将MONGO_INITDB_ROOT_USERNAMEMONGO_INITDB_ROOT_PASSWORD环境变量传递给docker run命令时,我可以在admin数据库上创建一个新的root用户。

当我尝试创建新数据库并在其中创建集合时,我的问题就开始了。

我编写了一个脚本来选择管理数据库,对mongo服务进行身份验证并创建新数据库,但由于某些原因我无法使用我的凭据访问数据库..

use admin;
db.auth('myuser', 'mypassword');
use newDatabase;
db.createCollection('newCol');

尝试使用给定的凭据(myuser和mypassword)对newDatabase进行身份验证时,我发现我没有对数据库所需的权限。

我做错了什么?我怎么能自动完成呢?

1 个答案:

答案 0 :(得分:0)

我只是理解root由于某些原因无法访问其他数据库,因此我使用了db.createUser并为新数据库创建了一个新用户。