赞
踩
1、官网下载安装
2、官网下载shell工具,否则装好后无法创建admin账号和修改密码进行不了验证操作
进入后都先选择环境,然后直接下载
3、安装好会默认启动,验证是否启动可以在浏览器访问下面的网址
启动成功:
4、启动安装的shell工具
先切换到admin库
use admin
然后先创建admin用户和密码
db.createUser({ user: 'admin', pwd: '123456', roles: [{ role: 'userAdminAnyDatabase', db: 'admin'}]});
然后编辑配置文件:
启用鉴权:
security:
authorization: enabled
然后重启服务:
插入一个cmd命令添加服务的示例
1、 管理员权限打开cmd窗口
2、注册服务命令:sc create 服务名 binpath= 程序所在路径 type= own start= auto displayname= 服务显示名称
3、将MongoDb插入后可以用下面的方式启动
启动: net start mongodb
停止:2 net stop mongodb
做成bat可快速执行
不想麻烦还可以用命令行直接关闭
db.shutdownServer()
或者
bin / mongod--port = 27017--dbpath =/ soft / mongodb / mongodb / data--shutdown
5、再次进入shell工具直接输入admin然后回车
先鉴权:
db.auth("admin","123456");
可以的话说明鉴权成功,用其他工具链接也需要输入账号密码了
6、相关授权命令
MongoDB角色有:
数据库用户角色:read、readWrite;
数据库管理角色:dbAdmin、dbOwner、userAdmin;
集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
备份恢复角色:backup、restore;
所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
超级用户角色:root;
MongoDb权限有:
read: 允许用户读取指定数据库
readWrite: 允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问
system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,具有所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,具有所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,具有所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,具有所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,具有所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限。
创建普通用户:
db.createUser(
{
user: "user",
pwd: "password",
roles: [{ role: "readWrite",db:”user”}],
} )
创建管理员:
db.createUser(
{
user: "DbUser",
pwd: "DbPwd“,roles:["readWriteAnyDatabase", "dbAdminAnyDatabase"]
})
修改对应用户的权限:
db.updateUser( "user", { customData: { info: "测试修改权限" }, roles: [ { role: "clusterAdmin", db: "admin" }] } )
收回权限:
db.revokeRolesFromUser( "user", [ { role: "read", db: "admin" } ] )
修改密码:
db.changeUserPassword("user", "12345678")
对某个用户的某个数据库的某个操作进行限制:
db.createRole({role: "test",privileges: [{ resource: { db: "testdb", collection: "test1" }, actions: ["find", "update"] },{ resource: { db: "testdb", collection: "test2" }, actions: ["find"] },],roles: []})
查询数据库下的用户:
db.system.users.find()
删除用户:
db.dropUser(“user”)
mongod.conf配置文件
# mongod.conf # for documentation of all options, see: # http://docs.mongodb.org/manual/reference/configuration-options/ # Where and how to store data. storage: dbPath: D:\mongodb\data journal: #日志操作间隔 commitIntervalMs: 500 #保留的日志的最小时长 oplogMinRetentionHours: 6 wiredTiger: engineConfig: #所有数据的内部缓存的最大大小 cacheSizeGB: 2 #压缩方式,比zlib快但大 journalCompressor: snappy # where to write logging data. systemLog: destination: file logAppend: true path: D:\mongodb\log\mongod.log traceAllExceptions: true # network interfaces net: port: 27017 bindIp: 127.0.0.1 wireObjectCheck: true #processManagement: security: authorization: enabled #慢速操作时间阈值 operationProfiling: slowOpThresholdMs: 300 #操作日志大小 replication: oplogSizeMB: 10 #sharding: ## Enterprise-Only Options: #auditLog:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。