MongoDB:Linux环境全套安装指南

复制代码

😊 @ 作者: 一恍过去
💖 @ 主页: https://blog.csdn.net/zhuocailing3390
🎊 @ 社区: Java技术栈交流
🎉 @ 主题: MongoDB:Linux环境全套安装指南
⏱️ @ 创作时间: 2023年08月08日

目录

前言

在安装MonggoDB前,需要知道与SpringBoot整合时的最佳匹配版本,根据SpringBoot版本下载对应的MonggoDB版本。

参考:《SpringBoot与MongoDB版本对照参考》

1、下载MongoDB

下载地址:https://www.mongodb.com/try/download/community

2、创建数据文件

将下载的mongodb-linux-x86_64-rhel70-4.4.12.tgz拷贝到服务器的/opt目录下,或者直接使用wget命令下载;
解压文件:

shell 复制代码
# 解压
tar -zxvf  mongodb-linux-x86_64-rhel70-4.4.12.tgz
# 修改名称
mv mongodb-linux-x86_64-rhel70-4.4.12 mongodb

创建工作目录:

shell 复制代码
#数据存储目录 
mkdir -p /opt/mongodb/single/data
#日志存储目录 
mkdir -p /opt/mongodb/single/log

3、创建配置

创建配置文件:

shell 复制代码
vim /opt/mongodb/single/mongod.conf

配置内容:

yaml 复制代码
systemLog:
    #MongoDB发送所有日志输出的目标指定为文件
    destination: file 
    #mongod或mongos应向其发送所有诊断日志记录信息的日志文件的路径   
    path: "/opt/mongodb/single/log/mongodb.log"
    #当mongos或mongod实例重新启动时,mongos或mongod会将新条目附加到现有日志文件的末尾。
    logAppend: true
storage:
    #mongod实例存储其数据的目录。storage.dbPath设置仅适用于mongod。 
    dbPath: "/opt/mongodb/single/data"
    journal:
       #启用或禁用持久性日志以确保数据文件保持有效和可恢复。
       enabled: true 
processManagement:
    #启用在后台运行mongos或mongod进程的守护进程模式。
    fork: true
net:
    #服务实例绑定的IP,默认是localhost,多个ip逗号分割
    bindIp: 0.0.0.0
    #绑定的端口,默认是27017
    port: 27017
security:
    #用户验证
    authorization: enabled

4、启动服务

shell 复制代码
# 进入bin
cd /opt/mongodb/bin/
# 启动
./mongod --config ../single/mongod.conf

5、服务关闭

shell 复制代码
# 进入bin
cd /opt/mongodb/bin/
# 关闭
./mongod --shutdown --config ../single/mongod.conf

6、创建用户

shell 复制代码
# 进入bin
cd /opt/mongodb/bin
# 使用命令
./mongo
# 使用管理员
use admin

#创建管理员用户
db.createUser({user:"root",pwd:"123456",roles:["root","readWrite"]});

#创建普通用户-读写权限,readWrite:读写,read:只读,库管理员:userAdminAnyDatabase
db.createUser({user:"test",pwd:"123456",roles:["readWrite"]})

#查看用户
show users

#验证用户密码,返回1,则表示成功
db.auth("root","lhzlx")

#修改用户密码
db.updateUser("root",{pwd:"new_pwd"})

#删除用户
db.dropUser("root")

#为非admin数据库,设置用户,role为对应角色,db为所属数据库
db.createUser({user: "test", pwd: "123456", roles: [{ role: "readWrite", db: "test" }]})

#重新启动mongo实例
./mongod --shutdown --config ../single/mongod.conf
./mongod --config ../single/mongod.conf

7、配置开机自启

shell 复制代码
# 追加中local配置
vim /etc/rc.d/rc.local

# 加入配置
/opt/mongodb/bin/ --config /opt/mongodb/single/mongod.conf

# 修改权限 
chmod +x /etc/rc.d/rc.local

8、roles列表

roles 如下:

数据库用户角色(Database User Roles)

  • read : 授权User只读数据的权限,允许用户读取指定的数据库
  • readWrite 授权User读/写数据的权限,允许用户读/写指定的数据库

数据库管理角色(Database Admininstration Roles)

  • dbAdmin:在当前的数据库中执行管理操作,如索引的创建、删除、统计、查看等
  • dbOwner:在当前的数据库中执行任意操作,增、删、改、查等
  • userAdmin :在当前的数据库中管理User**,**创建、删除和管理用户。

备份和还原角色(Backup and Restoration Roles)

  • backup
  • restore

跨库角色(All-Database Roles)

  • readAnyDatabase:授权在所有的数据库上读取数据的权限,只在admin 中可用
  • readWriteAnyDatabase:授权在所有的数据库上读写数据的权限,只在admin 中可用
  • userAdminAnyDatabase:授权在所有的数据库上管理User的权限,只在admin中可用
  • dbAdminAnyDatabase: 授权管理所有数据库的权限,只在admin 中可用

集群管理角色(Cluster Administration Roles)

  • clusterAdmin:授权管理集群的最高权限,只在admin中可用
  • clusterManager:授权管理和监控集群的权限
  • clusterMonoitor:授权监控集群的权限,对监控工具具有readonly的权限
  • hostManager:管理server

超级角色(super master Roles)

  • root :超级账户和权限,只在admin中可用
复制代码
相关推荐
Ditglu.2 分钟前
数据库运维(DBA)职业能力提升知识库
运维·数据库·dba
黛琳ghz5 分钟前
机密计算与安全容器:openEuler安全生态深度测评
服务器·数据库·安全·计算机·操作系统·openeuler
赖small强10 分钟前
【Linux 进程管理】Linux 可执行程序运行机制深度解析
linux·可执行程序
casdfxx12 分钟前
配置v3s支持8188eu、8192cu网卡(三)-openssh不能登录linux开发板。
linux·服务器·网络
遇见火星15 分钟前
Linux 服务器被入侵后,如何通过登录日志排查入侵源?【实战指南】
linux·运维·服务器·入侵·日志排查
小清兔19 分钟前
一个unity中URP的环境下旋转天空盒的脚本(RotationSky)
开发语言·数据库·学习·程序人生·unity·c#·游戏引擎
凤凰战士芭比Q20 分钟前
(一)zabbix7.0(安装、自定义监控、告警)
linux
技术爬爬虾23 分钟前
为什么React的漏洞能攻破服务器?Next.js与RSC入门基础
前端·数据库·安全
gis分享者26 分钟前
如何在 Shell 脚本中使用管道(pipeline)实现数据传递?(容易)
linux·pipeline·shell·脚本·管道·数据传递
Kaede629 分钟前
如何保护MySQL中的重要数据
数据库·mysql