阿里云(Ubuntu系统)安装MongoDB
安装官网安装步骤实现 地址
编辑 mongod.cfg
配置文件
- 找到
bindIp
- 设置为
0.0.0.0
:(允许所有ip进行访问)
进入mongo shell
输入mongo
进入mongo shelluse admin
进入系统库- 创建了一个超级管理员角色的用户,用户名为
root
db.createUser(
{
user: "root", // 用户名
pwd: passwordPrompt(), // 这里是设置输入密码时隐式输入,也可以直接输入明文
roles: [ // 配置角色和可以操作的数据库
{ role: "userAdminAnyDatabase", db: "admin" }, // `userAdminAnyDatabase` 角色, 提供与`userAdmin`(超级管理员)除local和 之外的所有数据库相同的用户管理操作访问权限 config。
]
}
)
可以根据不同数据库创建不同的角色
- 合作开发更高分配权限与管理。
use [database]
db.createUser(
{
user: "reportsUser",
pwd: passwordPrompt(), // or cleartext password
roles: [
{ role: "read", db: "reporting" }, // 只读角色,数据库reporting
{ role: "read", db: "products" },// 只读角色,数据库products
{ role: "read", db: "sales" },// 只读角色,数据库sales
{ role: "readWrite", db: "accounts" }// 读写角色,数据库accounts
]
}
)
本地mongo shell 链接远程MongoDB
mongo [ip:port/databse] -u [userName]
通过
mongo
服务器公网ip
、端口port
、数据库database
,-u 用户名userName
输入密码
即可进入远程服务器的mongo shell
修改用户权限
# 替换全部权限
db.updateUser("usertest",{roles:[ {role:"read",db:"testDB"} ]})
# 注:updateuser它是完全替换之前的值,如果要新增或添加roles而不是代替它
# 则使用方法: db.grantRolesToUser() 和 db.revokeRolesFromUser()
#某个用户增加对music数据的权限
db.grantRolesToUser([用户名],[{role:"readWrite", db: "music"}])
# 删除某个用户的对music数据库的权限
db.revokeRolesFromUser([用户名], [{role:"readWrite", db:"music"}])
查看用户权限
show users
删除用户
db.dropUser([用户名])