1. 安装mongodb客户端、服务端、依赖关系
yum install mongodb mongodb-server mongodb-devel
2. 设置数据目录
cd /mnt/data/
mkdir mongodb
chown mongodb:mongodb -R mongodb/
3. 启动
systemctl start mongod
netstat -tpnl|grep 27017 查看是否启动
4. 创建管理用户
use admin;
db.createUser({user:"kutesmart",pwd:"rki85thFrzjJibtCBrCj8nuttvH1XhaC",roles:[{role:"userAdminAnyDatabase",db:"admin"}]});
管理员授权(结果返回1表示授权成功)
db.auth('kutesmart','rki85thFrzjJibtCBrCj8nuttvH1XhaC');
5. 配置文件
vim /etc/mongod.conf
auth=true 打开权限
6. 重启服务,验证权限
systemctl restart mongod
7. 创建普通用户
mongo admin -u kutesmart -p
use logs;
db.createUser({user:"sc",pwd:"8LG06xyvHlcmwZXRvc9UF0ujbW6QDjPa",roles:[{role:"readWrite",db:"logs"}]});
db.auth('sc','8LG06xyvHlcmwZXRvc9UF0ujbW6QDjPa');
8. 设置服务自动启动
systemctl enable mongod
验证登录
mongo localhost/admin -u sc -p
出现"WARNING: Readahead for /mnt/data/mongodb is set to 4096KB"
blockdev --report 获取文件预读大小
df-lh 查看数据所在位置
blockdev --setra 256 /dev/vdb1 修改
systemctl restart mongod
删除用户db.dropUser('sc');
管理员登录mongo localhost/admin -u kutesmart -p
查看用户db.system.users.find();
或 show users;
修改用户密码
db.changeUserPassword(‘user’,’pwd’);
修改用户信息
db.runCommand(
{
updateUser:用户名,
pwd:密码,
customData:{title:"xxx"……}
}
)
内建角色
Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限
注意
2.6以上版本客户端管理工具可能出现无权限情况
客户端管理工具建议使用 NoSQL Manager for MongoDB
连接时注意设置 左侧databases选项卡
Comments | NOTHING