当前位置: 首页 > 数据应用 > MongoDB

MongoDB如何设置用户名和密码进行安全访问

时间:2023-07-02 17:01:06 MongoDB

MongoDB是一种流行的非关系型数据库,它可以存储和处理大量的数据。MongoDB的一个重要特性是它支持用户认证,也就是说,可以为不同的数据库创建不同的用户和密码,以保证数据的安全性和权限控制。本文将介绍MongoDB如何设置用户名和密码进行安全访问的方法。

首先,我们需要启动MongoDB服务,并连接到MongoDB shell。在命令行中输入以下命令:

mongod --auth 启动MongoDB服务,并开启认证模式

mongo 连接到MongoDB shell

接下来,我们需要在admin数据库中创建一个超级管理员用户,这个用户可以管理所有的数据库和用户。在MongoDB shell中输入以下命令:

use admin 切换到admin数据库

db.createUser({user: \"admin\", pwd: \"admin123\", roles: [\"root\"]}) 创建一个超级管理员用户,用户名为admin,密码为admin123,角色为root

然后,我们需要退出MongoDB shell,并重新连接,这次需要使用超级管理员用户的用户名和密码。在命令行中输入以下命令:

mongo -u admin -p admin123 --authenticationDatabase admin 重新连接到MongoDB shell,并使用超级管理员用户的用户名和密码进行认证,指定认证数据库为admin

接着,我们可以在任意数据库中创建普通用户,这些用户只能访问指定的数据库和集合,并拥有指定的权限。例如,我们可以在test数据库中创建一个只能读取数据的用户。在MongoDB shell中输入以下命令:

use test 切换到test数据库

db.createUser({user: \"test\", pwd: \"test123\", roles: [\"read\"]}) 创建一个只能读取数据的用户,用户名为test,密码为test123,角色为read

最后,我们可以使用普通用户的用户名和密码连接到指定的数据库,并进行相应的操作。例如,我们可以使用test用户连接到test数据库,并查询数据。