我正在尝试创建一个包含用户名和密码的数据库,有些回答说是addUser for admin。但mongodb没有调用任何数据库。
我以超级用户权限运行mongodb。
MacBook:~ root# mongod
或
MacBook:~ macbook$ mongo
在新标签页中,我按照命令
运行MacBook:~ root# mongo
然后我看到我的dbs用show dbs
命令显示以下内容
>show dbs
clist 0.078GB
hinfo 0.078GB
local 0.078GB
我尝试使用此local
数据库和system.indexes
,但我没有获得任何成功结果。我做错了吗?希望你的帮助。我是mongodb的新手,我正在使用monogo 3.2.4 versioin
答案 0 :(得分:2)
由于这是Google中“ mongodb使用用户名和密码创建数据库” 查询中的第一个堆栈溢出链接,因此答案如下:
use mydb
db.createUser(
{
user: "myuser",
pwd: "mypassword",
roles: [ "dbOwner" ]
}
)
这些命令将创建一个名为mydb
的数据库,为一个名为myuser
的用户分配密码mypassword
并授予该用户对该数据库的完全访问权限。
请确保您事先是管理员,以便能够创建数据库和用户。
[注意]为了使新创建的数据库显示在命令show dbs
返回的列表中,您需要将至少一个文档插入到新创建的数据库的集合中。例如:
> mydoc = { firstName : "Adam" }
> db.mycollection.insert( mydoc );
答案 1 :(得分:0)
MongoDB中的身份验证是在实例级别完成的。这意味着当你启动mongod时,你需要传递--auth
选项。
启用身份验证后,您需要创建用户以授予他们访问相应数据库的权限。默认情况下,admin数据库不存在,它将在您创建第一个用户时动态创建。
有关详细信息和示例,请参阅Enable Authentication页面。