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数据库,并查询数据。