• 周三. 6月 29th, 2022

5G编程聚合网

5G时代下一个聚合的编程学习网

热门标签

保姆级Mongodb部署教程

admin

11月 28, 2021

操作该文档基本需求

  • 操作员需熟悉 Linux 的常用命令,知晓各命令的含义和用途
  • 了解 Linux 服务器的运维
  • 基本的编程知识,了解 JavaScript 和其他面向对象编程语言
  • 熟悉 Mongodb 数据库的基本操作,若是精通最好
  • 能阅读英文文档
  • 会操作和配置 Linux 服务器的防火墙规则

下载 Mongodb 数据库

  • 首先去Mongodb 官网下载中心下载 Mongodb 数据安装程序.根据不同的操作系统下载系统相对应的安装包.
  • 选择 *.tgz 格式的包下载,其他模式的安装不太容易自定义安装
  • 如本次服务器安装的是 Ubuntu 21.xx 的操作系统,这里我们就选择最新的 Ubuntu 系统对应版本,然后根据服务器 CPU 架构选择相应的包.这次我们选择 X86_X64 架构,若是使用 ARM 芯片则需选择 ARM64 架构.
  • 下载好对应包后使用 root 账号登录,然后上传到服务器,或者使用服务器的 wget 命令直接下载到 root 目录下.

安装 Mongodb 数据库

  • 解决先决条件安装依赖库

      sudo apt-get install libcurl4 openssl liblzma5
    
  • 上传好数据库安装包后,可参考 官方的安装教程 进行安装,这里我们选择 Install using .tgz Tarball 阅读其中的操作步骤进行安装.

  • 使用 root 账户登录服务器后在 root 目录下执行如下命令.

  • 解压数据库文件

      tar -zxvf mongodb-linux-*.tgz
    
  • 移动数据库文件到执行目录 [注意: 其中需替换成真实的文件目录如:/root/mongodb-linux-x86_64-ubuntu2004-5.0.0/]

      sudo cp <mongodb-install-directory>/bin/* /usr/local/bin/
    
  • 然后给可执行文件添加执行权限

      sudo chmod 755 /usr/local/bin/install_compass
      sudo chmod 755 /usr/local/bin/mongo
      sudo chmod 755 /usr/local/bin/mongod
      sudo chmod 755 /usr/local/bin/mongos
    

创建数据库配置文件

  • 在 root 文件夹下创建 KeyFile 用于多节点认证
      openssl rand -base64 745 > /root/KeyFile
    
  • 调整认证文件为只读
      sudo chmod 100 /root/keyFile
    
  • 使用 nano 编辑器创建 Mongodb 运行配置文件
      sudo nano /root/node1/mdb.config
      sudo nano /root/node2/mdb.config
      sudo nano /root/node3/mdb.config
    
  • 创建 Mongodb 数据文件夹
      sudo mkdir /root/node1/data
      sudo mkdir /root/node2/data
      sudo mkdir /root/node3/data
    
  • 在上述所有 mdb.config 配置文件中填入如下内容
    systemLog:
       destination: file
       path: "/root/node1/mongod.log"
       logAppend: true
    storage:
       dbPath: "/root/node1/data"
       journal:
          enabled: true
    processManagement:
       fork: true
    net:
       bindIp: 127.0.0.1,192.168.31.236
       port: 27017
    security:
       keyFile: "/root/KeyFile"
    replication:
       replSetName: "rs0"
    

    其中 path 的值根据不同节点的路径调整,dbPath 的值和 KeyFile 的值均是如此.

    其中 bindIp 的值填入 127.0.0.1 和当前服务器的 IP 地址.

    port 值在 node1 中填入 27017,node2 中填入 27018,node3 中填入 27019

    [该配置文件及其注重格式,请一定按照所示对齐进行输入]


配置数据库

  • 启动数据库
      mongod -f /root/node1/mdb.config & mongod -f /root/node2/mdb.config & mongod -f /root/node3/mdb.config
    

    等待数据库启动完成.

  • 登入数据库
      mongo
    
  • 切换到 admin 数据库
      use admin
    
  • 创建管理员用户
    db.createUser({
      user: "aaa",
      pwd: "123456",
      roles: [{ role: "root", db: "admin" }],
    });
    

    其中用户名和密码根据实际需求自行调整 [规则切勿调整,错误的规则会使账号无法登录]

  • 使用刚才创建的用户登入数据库,会提示输入密码
    db.auth("aaa");
    
  • 调整主数据库的优先级
    var rsc = rs.config();
    rsc.members[0].priority = 2;
    rs.reconfig(rsc))
    
  • 添加数据库节点(数据库集群)
    rs.add("192.168.31.236:27018");
    rs.add("192.168.31.236:27019");
    
  • 等待执行完成退出数据库
      exit
    
  • 至此数据库配置完成,可使用数据库工具进行链接上述操作详细输出内容可参考文档
  • 完成上述操作后,将数据库端口开放 (这里以 Ubuntu 服务器做示例)
      sudo ufw allow 27017
      sudo ufw allow 27018
      sudo ufw allow 27019
    

发表评论

您的电子邮箱地址不会被公开。