一安装mongodb
1.直接上面一条命令sudo apt-get install mongodb就可以了.
2.安装前最好 sudo apt-get update和sudo apt-get upgrade一下
3.成功后可以pgrep mongo -l 查看是否启动(默认是会自动启动的)
4.关闭/启动命令 sudo service mongodb stop (关闭) sudo service mongodb start(启动)
二.设置用户权限
1.mongo 登录数据库
2.use admin会出现switched to db admin
3.创建管理员
db.createUser(
{
user: "admin",
pwd: "123456",
roles: [
{ role: "userAdminAnyDatabase", db: "admin" }
]
}
)
会出现,且roles里面可以是多个对象,赋予不同权限,
Successfully added user: {
"user" : "admin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}
则代表成功创建可以 show users查看
(1).数据库用户角色
针对每一个数据库进行控制。
read :提供了读取所有非系统集合,以及系统集合中的system.indexes, system.js, system.namespaces
readWrite: 包含了所有read权限,以及修改所有非系统集合的和系统集合中的system.js的权限.
(2).数据库管理角色
每一个数据库包含了下面的数据库管理角色。
dbOwner:该数据库的所有者,具有该数据库的全部权限。
dbAdmin:一些数据库对象的管理操作,但是没有数据库的读写权限。(参考:http://docs.mongodb.org/manual/reference/built-in-roles/#dbAdmin)
userAdmin:为当前用户创建、修改用户和角色。拥有userAdmin权限的用户可以将该数据库的任意权限赋予任意的用户。
(3).集群管理权限
admin数据库包含了下面的角色,用户管理整个系统,而非单个数据库。这些权限包含了复制集和共享集群的管理函数。
clusterAdmin:提供了最大的集群管理功能。相当于clusterManager, clusterMonitor, and hostManager和dropDatabase的权限组合。
clusterManager:提供了集群和复制集管理和监控操作。拥有该权限的用户可以操作config和local数据库(即分片和复制功能)
clusterMonitor:仅仅监控集群和复制集。
hostManager:提供了监控和管理服务器的权限,包括shutdown节点,logrotate, repairDatabase等。
备份恢复权限:admin数据库中包含了备份恢复数据的角色。包括backup、restore等等。
(4).所有数据库角色
admin数据库提供了一个mongod实例中所有数据库的权限角色:
readAnyDatabase:具有read每一个数据库权限。但是不包括应用到集群中的数据库。
readWriteAnyDatabase:具有readWrite每一个数据库权限。但是不包括应用到集群中的数据库。
userAdminAnyDatabase:具有userAdmin每一个数据库权限,但是不包括应用到集群中的数据库。
dbAdminAnyDatabase:提供了dbAdmin每一个数据库权限,但是不包括应用到集群中的数据库。
(5). 超级管理员权限
root: dbadmin到admin数据库、useradmin到admin数据库以及UserAdminAnyDatabase。但它不具有备份恢复、直接操作system.*集合的权限,但是拥有root权限的超级用户可以自己给自己赋予这些权限。
(6). 备份恢复角色:backup、restore;
(7). 内部角色:__system
三.mongodb 远程访问配置(ubuntu)
1.vim /etc/mongodb.conf
2.找到下面几个属性
bind_ip = 0.0.0.0 或者 #bind_ip 127.0.0.1 (监听的ip)
port = 27017 (启动端口)
auth=true (ture代表必须帐号,密码认证才可登录)
3.重新启动即可
mongo --port 27017 -u myadmin -p 'admin' --authenticationDatabase 'admin'
角色一张图