• Linux - MongoDB部署


    准备

    MongoDB下载

    官方下载
    选择自己需要的版本,以及服务器版本,以及安装方式,本篇文章我们安装6.0MongoDB使用CentOS8.0,使用tgz安装

    在这里插入图片描述
    MongoDB Shell下载

    官方下载
    MongoDB6.0已经不自带shell了,需要单独安装,不在Linux中进入MongoDB可以不安装,下载时注意选择平台,安装类型很多,这个版本不带OpenSSL,有需要的自己选择

    在这里插入图片描述

    将下载的两个tgz包上传至服务器中
    上传位置 /usr/local/weekeight/mongoDB

    部署

    mongoDB部署

    mkdir /usr/local/mongoDB   # 创建文件夹,将下载的tgz上传到这里
    cd /usr/local/mongoDB   # 进入到这个文件夹下
    mkdir /usr/local/mongoDB/log    # 创建存放日志的目录
    mkdir /usr/local/mongoDB/data    # 创建存放数据的目录
    tar -zxvf mongodb-linux-x86_64-rhel80-6.0.1.tgz   # 解压
    tar -zxvf mongosh-1.5.4-linux-x64.tgz             # 解压
    mv mongodb-linux-x86_64-rhel80-6.0.1 mongoDBServer   # 修改一下文件名
    mv mongosh-1.5.4-linux-x64 mongoDBShell              # 修改一下文件名
    cd /usr/local/mongoDB/mongoDBServer/bin    # 进入文件夹准备添加配置文件
    vim mongodb.conf    # 创建配置文件
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    vim配置

    # 数据库路径
    dbpath=/usr/local/mongoDB/data
    # 日志输出文件路径
    logpath=/usr/local/mongoDB/log/mongodb.log
    # 错误日志采用追加模式
    logappend=true
    # 启用日志文件,默认启用
    journal=true
    # 这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
    quiet=true
    # 端口号 默认为27017
    port=27017
    
    #只允许本地ip:127.0.0.1连接到该数据库服务
    #bind_ip=127.0.0.1
    #允许远程访问
    bind_ip=0.0.0.0
    
    #开启子进程(作用:让MongoDB服务在linux后台运行)
    fork=true
    
    #开启认证,必选先添加用户,先不开启(不用验证账号密码)
    # auth=true
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    vim /etc/profile     # 修改一下环境变量,将下面的地址追加到文档最后,mongodb_home可以不加,后面我们做启动优化
    export MONGODB_HOME=/usr/local/mongoDB/mongoDBServer
    export MONGODB_SHELL=/usr/local/mongoDB/mongoDBShell
    export PATH=$PATH:$MONGODB_HOME/bin:$MONGODB_SHELL/bin
    source /etc/profile     # 刷新一下环境变量
    
    • 1
    • 2
    • 3
    • 4
    • 5

    启动优化

    vim /usr/lib/systemd/system/mongodb.service    # 配置mongodb服务
    ln -s /usr/lib/systemd/system/mongodb.service /etc/systemd/system/mongodb.service   # 创建软连接
    
    • 1
    • 2

    mongodb.service配置

    [Unit]
    Description=mongodb-server
    After=network.target remote-fs.target nss-lookup.target  
      
    [Service]  
    Type=forking  
    ExecStart=/usr/local/mongoDB/mongoDBServer/bin/mongod --config /usr/local/mongoDB/mongoDBServer/bin/mongodb.conf
    ExecReload=/bin/kill -s HUP $MAINPID
    ExecStop=/usr/local/mongoDB/mongoDBServer/bin/mongod --shutdown --config /usr/local/mongoDB/mongoDBServer/bin/mongodb.conf
    PrivateTmp=true  
    Restart=always
    RestartSec=1 
    
    [Install]  
    WantedBy=multi-user.target
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    systemctl daemon-reload  # 加载一下刚刚的配置文件
    systemctl start mongodb.service   # 启动MongoDB
    systemctl status mongodb.service   # 检查是否启动成功
    mongosh     # MongoDB Shell不用配置,只用加一下环境变量即可,解压就可以使用,默认进入的时test库,接下设置密码
    
    • 1
    • 2
    • 3
    • 4

    进入mongodb的命令行

    先转到admin库中

    use admin
    
    • 1

    设置账户密码,然后就是角色

    db.createUser({user:"root",pwd:"Kr8PbuNeY",roles:[{role:"root",db:"admin"}]})
    
    • 1

    退出来

    quit
    
    • 1

    角色

    数据库用户角色
    	read: 只读数据权限
    	readWrite:读写数据权限
    数据库管理角色
    	dbAdmin: 在当前db中执行管理操作的权限
    	dbOwner: 在当前db中执行任意操作
    	userADmin: 在当前db中管理user的权限
    备份和还原角色
    	backup: 备份
    	restore: 还原
    夸库角色
    	readAnyDatabase: 在所有数据库上都有读取数据的权限
    	readWriteAnyDatabase: 在所有数据库上都有读写数据的权限
    	userAdminAnyDatabase: 在所有数据库上都有管理user的权限
    	dbAdminAnyDatabase: 管理所有数据库的权限
    集群管理
    	clusterAdmin: 管理机器的最高权限
    	clusterManager: 管理和监控集群的权限
    	clusterMonitor: 监控集群的权限
    	hostManager: 管理Server
    超级权限
    	root: 超级用户
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    Linux命令行

    systemctl stop mongodb.servic         # 关闭MongoDB
    vim /usr/local/mongoDB/mongoDBServer/bin/mongodb.conf      # 进入到配置文件中将auth=true的注释解开
    systemctl start mongodb.service       # 启动MongoDB
    mongosh admin -u root -p Kr8PbuNeY          # 再进入到MongoDB的时候就要加上了,不然的话可以进去但是命令都不能用
    
    • 1
    • 2
    • 3
    • 4

    然后就是开放端口了27017将端口开放,如果是云服务的话记得再控制台打开
    使用MongoDB Compass在其他地方远程连接,端口默认的不用写,不是默认的在IP后面拼上**:端口**,然后连接即可

    在这里插入图片描述
    在这里插入图片描述

    参考

    配置参考

    本专栏为微服务记录专栏,如有问题还望指出,共同学习!

  • 相关阅读:
    探索学习新时代,江苏开放大学与电大搜题带您飞!
    Ngnix优化
    第29课 绘制原理图——放置电源端口
    PHPstudy安装redis扩展
    2024年5月系统架构设计师综合知识真题
    智能家居—ESP32开发环境搭建
    typescript68-索引查询类型(查询多个)
    【算法训练-字符串 三】字符串相加
    web前端全套教程,入门必备
    java-php-python-ssm网上商城系统计算机毕业设计
  • 原文地址:https://blog.csdn.net/qq_43431735/article/details/126520905