摘要:在此创建一个对数据库读写创建删除权限,其他数据库只读权限的用户。测试其他数据库退出数据再重新进入进入数据库,尝试查询集合,报错。验证登录,再次查询集合,不报错无时会不显示任何信息。测试远程连接测试权限,方法同第步。超级账号,超级权限角色操作
Centos 7 创建.repo文件,生成mongodb的源
vi /etc/yum.repos.d/mongodb-org-4.0.repo
添加配置信息[mongodb-org-4.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc安装 选择下载
最稳定版本
sudo yum install -y mongodb-org
指定版本
sudo yum install -y mongodb-org-4.0.11 mongodb-org-server-4.0.11 mongodb-org-shell-4.0.11 mongodb-org-mongos-4.0.11 mongodb-org-tools-4.0.11
不升级版本
exclude = mongodb-org,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools
验证安装rpm -qa |grep mongodb
rpm -ql mongodb-org-server
启动服务
systemctl start mongod.service
开启端口
netstat -natp | grep 27017
查看进程
ps -aux | grep mongod
验证
mongo
// 1、开启MongoDB sudo service mongod start 或者 systemctl start mongod.service # 开启MongoDB sudo chkconfig mongod on # 加入开机启动 sudo service mongod restart # 重启MongoDB // 2、关闭MongoDB sudo service mongod stop # 关闭防火墙 // 3、卸载MongoDB sudo yum erase $(rpm -qa | grep mongodb-org) # 卸载MongoDB sudo rm -r /var/log/mongodb # 删除日志文件 sudo rm -r /var/lib/mongo # 删除数据文件远程连接
vi /etc/mongod.conf
# network interfaces net: port: 27017 # 127.0.0.1仅能主机连接,需改成0.0.0.0 bindIp: 0.0.0.0 # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.
sudo service mongod restart
systemctl status firewalld # 查看防火墙状态 firewall-cmd --zone=public --add-port=27017/tcp --permanent # mongodb默认端口号 firewall-cmd --reload # 重新加载防火墙 firewall-cmd --zone=public --query-port=27017/tcp # 查看端口号是否开放成功,输出yes开放成功,no则失败
mongo your server address:27017
设置密码use admin
db.createUser({ user: "root", pwd: "123456", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
db.auto("root","123456") 返回1则正确
sudo vi /etc/mongod.conf
修改
#security:
为
security: authorization: enabled
sudo service mongod restart
mongo进入数据库,use admin切换到admin数据库,运行show users会报错,因为你没有验证身份,需要先验证db.auth("root","123456"),再次运行show users则显示应有信息。
首先需要use admin切换到admin验证身份db.auth("root","123456"),再切换到test数据库use test,即在对应数据库创建用户权限才能成功。在此创建一个对test数据库读写创建删除权限,其他数据库只读权限的用户。
db.createUser({user:"test",pwd:"test",roles:[{role:"readWrite",db:"test"},{role:"dbAdmin",db:"test"},"read"]})
exit退出数据再重新进入mongo,use test进入test数据库,show collections尝试查询集合,报错。db.auth("test","test")验证登录,再次查询集合show collections,不报错(无collection时会不显示任何信息)。
mongo your server address:27017/test,测试权限,方法同第8步。
分类 | role(角色) | 简要说明 |
---|---|---|
数据库用户角色(DB User Roles) | read readWrite | 为某个数据库创建一个用户, 分配该数据库的读写权力 |
数据库管理员角色(DB Admin Roles) | dbAdmin dbOwner userAdmin | 拥有创建数据库, 和创建用户的权力 |
集群管理角色(Culster Administration Roles) | clusterAdmin clusterManager clusterMonitor hostManager | 管理员组, 针对整个系统进行管理 |
备份还原角色(Backup and Restoration Roles) | backup restore | 备份数据库, 还原数据库 |
所有数据库角色(All-Database Roles) | readAnyDatabase readWriteAnyDatabase userAdminAnyDatabase dbAdminAnyDatabase | 拥有对admin操作的权限 |
Superuser Roles(超级管理员) | root | dbOwner userAdmin userAdminAnyDatabase这几个角色角色提供了任何数据任何用户的任何权限的能力,拥有这个角色的用户可以在任何数据库上定义它们自己的权限 |
Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以在指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限
角色操作User Management Methods — MongoDB Manual
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/110551.html
摘要:安装并使用服务器部署从安装到使用的过程中,碰到很多问题,记录一下,和大家共勉。创建日志目录新建配置文件安装时在目录下并没有找到配置文件,所以按照配置文件启动时,需要新建配置文件。 Linux 安装并使用 MongoDB Linux 服务器部署 MongoDB,从安装到使用的过程中,碰到很多问题,记录一下,和大家共勉。 安装 MongoDB 提供了 Linux 各发行版本 64 位的安装...
摘要:安装并使用服务器部署从安装到使用的过程中,碰到很多问题,记录一下,和大家共勉。创建日志目录新建配置文件安装时在目录下并没有找到配置文件,所以按照配置文件启动时,需要新建配置文件。 Linux 安装并使用 MongoDB Linux 服务器部署 MongoDB,从安装到使用的过程中,碰到很多问题,记录一下,和大家共勉。 安装 MongoDB 提供了 Linux 各发行版本 64 位的安装...
摘要:概述的社区版的编译版本没有为其它系统安装社区版的支持包提供了一个简单的选项注意建议不要使用这种办法除非你有特定的需要可用的软件包不能解决的时候安装社区版提供了位和位已弃用的构建的归档。选择适合你的系统的安装流程。 概述 Linux的MongoDB社区版的编译版本没有为其它 Linux 系统安装MongoDB社区版的支持包提供了一个简单的选项 注意: 建议不要使用这种办法, 除非你有特...
摘要:原文出自听云技术博客如下是我工作中的记录,介绍的是系统下和的安装过程和遇到的问题以及解决办法需要的朋友可以按照如下步骤进行安装,可以快速安装和,希望可以帮助大家一安装将安装包拷贝到要安装的服务器中这里我用的命令,如果不支持需要安装解 原文出自【听云技术博客】:http://blog.tingyun.com/web/a... 如下是我工作中的记录,介绍的是linux系统下NoSQL:Mo...
摘要:原文出自听云技术博客如下是我工作中的记录,介绍的是系统下和的安装过程和遇到的问题以及解决办法需要的朋友可以按照如下步骤进行安装,可以快速安装和,希望可以帮助大家一安装将安装包拷贝到要安装的服务器中这里我用的命令,如果不支持需要安装解 原文出自【听云技术博客】:http://blog.tingyun.com/web/a... 如下是我工作中的记录,介绍的是linux系统下NoSQL:Mo...
摘要:写在前面的是目前在行业非常流行的一种非关系型数据库其灵活的数据存储方式备受当前从业人员的青睐。很好的实现了面向对象的思想思想在中每一条记录都是一个对象。 写在前面的 Mongo DB 是目前在IT行业非常流行的一种非关系型数据库(NoSql),其灵活的数据存储方式备受当前IT从业人员的青睐。Mongo DB很好的实现了面向对象的思想(OO思想),在Mongo DB中 每一条记录...
阅读 2968·2021-11-15 18:14
阅读 1569·2021-09-22 10:51
阅读 2950·2021-09-09 09:34
阅读 3327·2021-09-06 15:02
阅读 817·2021-09-01 11:40
阅读 3073·2019-08-30 13:58
阅读 2398·2019-08-30 11:04
阅读 977·2019-08-28 18:31