mongo默认用户名密码
MongoDB 是一个基于分布式文件存储的数据库,由C++语言编写,支持丰富的查询语言,不仅适用于大型网站数据存储,还可以存储大量的结构化和非结构化数据。在MongoDB中,默认情况下是没有设置用户名和密码的,也就是说可以直接连接到MongoDB实例进行操作,这会带来一些安全风险。
为了提升MongoDB数据库的安全性,我们需要设置用户名和密码来进行认证。本文将详细介绍如何在MongoDB中设置默认的用户名和密码。
设置默认用户名和密码
步骤1:启动MongoDB实例
首先,我们需要启动MongoDB实例。假设我们的MongoDB安装在默认路径下,通过终端或命令行进入MongoDB的安装目录,执行以下命令启动MongoDB实例:
mongod
步骤2:连接MongoDB实例
打开一个新的终端或命令行窗口,执行以下命令连接到MongoDB实例:
mongo
连接成功后,可以看到类似以下的输出:
MongoDB shell version v4.4.3
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("xxxxxxxxx") }
MongoDB server version: 4.4.3
步骤3:设置默认用户名和密码
在连接成功的MongoDB shell中,首先切换到 admin
数据库,然后执行以下命令创建一个新的用户,并分配角色为 root
:
use admin
db.createUser({
user: "admin",
pwd: "admin123",
roles: [{ role: "root", db: "admin" }]
})
以上命令的含义是在 admin
数据库中创建一个用户名为 admin
,密码为 admin123
的用户,并分配 root
角色。创建成功后会得到类似以下输出:
Successfully added user: {
"user" : "admin",
"roles" : [
{
"role" : "root",
"db" : "admin"
}
]
}
步骤4:重启MongoDB实例
在设置用户名和密码后,需要重启MongoDB实例才能使修改生效。在终端或命令行中按 Ctrl + C
停止当前运行的 mongod
实例,再次执行以下命令启动 mongod
:
mongod
步骤5:连接MongoDB实例验证用户名和密码
再次打开一个新的终端或命令行窗口,连接到MongoDB实例时需要使用用户名和密码进行认证:
mongo -u admin -p admin123 --authenticationDatabase admin
连接成功后,可以像在未设置用户名和密码时一样进行操作,不同的是现在已经需要提供用户名和密码。
总结
通过上述步骤,我们成功地在MongoDB中设置了默认的用户名和密码,并且验证了用户名和密码的有效性。这样可以提升MongoDB数据库的安全性,防止未授权的访问和操作。
在实际应用中,为了进一步增强安全性,我们可以创建多个用户,并根据不同用户的角色分配不同的权限,以便灵活地控制用户对数据库的访问和操作。