养成良好的记录习惯
作者:黄黄
1.设置yum源
创建仓库文件
vim /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
2.下载安装mongo
yum install -y mongodb-org
验证下载结果
rpm -qa |grep mongodb
mongodb-org-shell-4.0.13-1.el7.x86_64
mongodb-org-server-4.0.13-1.el7.x86_64
mongodb-org-mongos-4.0.13-1.el7.x86_64
mongodb-org-4.0.13-1.el7.x86_64
mongodb-org-tools-4.0.13-1.el7.x86_64
3.启动mongod服务
# 查看 mongod 服务的状态
systemctl status mongod
# 开启 mongod 服务
systemctl start mongod
# 设置 mongod 服务开机自启
systemctl enable mongod
# 确认mongod服务已开启成功后,进入 mongoDB 命令行交互模式
mongo --port 27017
4.创建用户和设置远程访问
创建管理员
use admin;
db.createUser({user: "admin",pwd: "123456",roles:[{ role:"root", db: "admin"} ]});
- 创建语句的意思是给admin数据库创建用户名为admin的超级管理员用户,为了方便后面权限认证建议使用root权限
创建数据库用户
use zzw;
- 没有zzw会自动创建可以理解为创建用户
db.createUser({ user: 'zhangzhiwen', pwd: '123456', roles: [ { role: "dbOwner", db: "zzw" } ] });
- 没授权之前可以在任意地方创建用户,用户都可以在admin数据库中查找出来
- 简单列取mongo数据库相关权限
数据库用户角色:read、readWrite;
数据库管理角色:dbAdmin、dbOwner、userAdmin;
集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
备份恢复角色:backup、restore
所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
超级用户角色:root
设置远程访问
- 编辑mongod.conf注释bindIp,并重启mongodb.(这句配置代表只能本机使用,所以需修改)
设置为 0.0.0.0
vim /etc/mongod.conf
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0 # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or,
5.授权模式启动mongo服务
vim /etc/mongod.conf
添加以下内容开启授权模式
security:
authorization: enabled
重启mongod
systemctl restart mongod;
- 如果报错Job for mongod.service failed because the control process exited with error code. See "systemctl status mongod.service" and "journalctl -xe" for details.做如下操作
rm -f /tmp/mongodb-27017.sock
重启mongod
systemctl restart mongod;