下面就为您详细讲解"Windows下MongoDB配置用户权限实例"的完整攻略.
在Windows下,如果您需要配置MongoDB用户权限,可以按照以下步骤进行操作.
启动MongoDB
在Windows系统中,启动MongoDB可以通过以下命令完成:
mongod --dbpath D:\mongo\data\db --logpath D:\mongo\data\log\mongodb.log --logappend --auth
创建管理员用户
在MongoDB中,管理员用户具有最高的权限,可以对数据库进行所有操作.通过以下命令,可以创建一个管理员用户:
use admin
db.createUser({user: "admin", pwd: "admin", roles:["root"]})
以上命令将创建一个名为"admin",密码为"admin",权限为"root"的管理员用户.
创建普通用户
除了管理员用户,我们还可以创建普通用户,且为其分配相应的权限,支持对数据库进行一些限制的操作.例如,我们可以创建一个普通用户"user1",并且为其指定"db1"数据库的读写权限.
use db1
db.createUser({user: "user1", pwd: "user1", roles:[ {role: "readWrite", db: "db1"} ]})
以上命令将创建一个名为"user1",密码为"user1",权限为"readWrite",限制在"db1"数据库中进行读写操作.
连接认证
在上述步骤完成后,需要重新连接MongoDB,并通过用户名和密码进行认证.
mongo -u admin -p admin --authenticationDatabase admin
以上命令将使用刚才创建的管理员用户"admin"进行连接MongoDB.
mongo -u user1 -p user1 --authenticationDatabase db1
以上命令将使用刚才创建的普通用户"user1"进行连接MongoDB.
下面通过一个实例来详细说明创建管理员和普通用户的过程.
假设我们已经将MongoDB安装在"D:\mongo"目录下,所以呢可以通过以下命令启动MongoDB.
mongod --dbpath D:\mongo\data\db --logpath D:\mongo\data\log\mongodb.log --logappend --auth
此时此刻呢,我们创建一个管理员用户,并为其分配"root"权限.具体命令如下:
use admin
db.createUser({user: "admin", pwd: "admin", roles:["root"]})
以上命令将在"admin"数据库中创建一个名为"admin"的管理员用户,并为其分配"root"权限,密码为"admin".
现在,我们可以创建一个名为"user1"的普通用户,并将其限制在"db1"数据库中进行读写操作.具体命令如下:
use db1
db.createUser({user: "user1", pwd: "user1", roles:[ {role: "readWrite", db: "db1"} ]})
以上命令将在"db1"数据库中创建一个名为"user1"的普通用户,并将其限制在"db1"数据库中进行读写操作,密码为"user1".
现在,我们可以使用刚才创建的管理员和普通用户连接MongoDB,并进行相应的操作.具体命令如下:
使用管理员用户连接MongoDB.
mongo -u admin -p admin --authenticationDatabase admin
连接成功后,我们可以通过以下命令查看所有数据库.
show databases
使用普通用户连接MongoDB.
mongo -u user1 -p user1 --authenticationDatabase db1
连接成功后,我们可以通过以下命令查看当前使用的数据库.
db.getName()
同时,我们也可以通过普通用户"user1"进行读写操作,例如插入一条数据.
db.test.insert({name:"demo"})