CentOS7服务器配置(八-下)---源码安装mongodb并配置鉴权登录

1 解包安装

简单的方法可直接使用yum命令安装。若目标服务器无法连接外来则只能源码包安装,先从mongodb官网下载mongodb包上传到服务器,官网地址:https://www.mongodb.com/try/download/community。再解压:jar xvf mongodb-linux-x86_64-4.0.6.tgz解包。解包后可看到一个bin目录,所有mongo命令都在这个目录下.
在这里插入图片描述
在解包的目录下建立logs和data两个文件夹。切换到bin目录下使用命令启动服务:

mongod --dbpath ../data --logpath ../logs/mongodb.log --port 27017 --logappend --fork -bind_ip_all

为了方便操作,定义了启动脚本,内容如下:

MONGO_PATH=/tools/mongodb
${MONGO_PATH}/bin/mongod --auth --dbpath ${MONGO_PATH}/data --logpath ${MONGO_PATH}/logs/mongodb.log --port 27017 --logappend --fork 

初始登录 创建用户

服务启动之后,可以切换到bin目录下,使用命令./mongo进入mongodb 控制台。
在这里插入图片描述
use admin #使用admin数据库
再输入下面的命令创建admin用户,用于鉴权登录。

db.createUser({
    user: "admin",
    pwd: "123456",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
})

在这里插入图片描述
使用命令quit()退出控制台。重启mongodb,在启动时加入–auth表示鉴权登录。

鉴权登录 创建普通用户

./mongo进入控制台,通过下面的方式进行身份校验。
在这里插入图片描述
也可使用./mongo --port 27017 -u “admin” -p “123456” --authenticationDatabase "admin"直接登录
登录后创建数据库(use DATABASENAME 如果数据库不存在,则创建数据库,否则切换到指定数据库。)

创建用户payment。
在这里插入图片描述

问题:服务启动远程主机无法连接

检查后发现是因为监听端口绑定了本地的ip地址。
在这里插入图片描述
将启动脚本添加参数 -bind_ip_all
修改后的脚本如下:

MONGO_PATH=/tools/mongodb
${MONGO_PATH}/bin/mongod --auth --dbpath ${MONGO_PATH}/data --logpath ${MONGO_PATH}/logs/mongodb.log --port 27017 --logappend --fork  -bind_ip_all

再次启动后使用客户端连接,推荐使用robo3t。
在这里插入图片描述
附 数据库角色
Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值