CentOS安装配置MongoDB


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选项卡

声明:初心|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - CentOS安装配置MongoDB


愿你勿忘初心,并从一而终