保姆级Mongodb部署教程

操作该文档基本需求

  • 操作员需熟悉 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 -R /usr/local/bin

创建数据库配置文件

  • 在 root 文件夹下创建 KeyFile 用于多节点认证
openssl rand -base64 745 > /root/KeyFile
  • 调整认证文件为只读
sudo chmod 444 /root/keyFile
  • 使用 nano 编辑器创建 Mongodb 运行配置文件
sudo nano /root/node1/mdb.config
sudo nano /root/node2/mdb.config
  • 创建 Mongodb 数据文件夹
sudo mkdir /root/node1/data
sudo mkdir /root/node2/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

等待数据库启动完成.

  • 登入数据库
mongo
  • 切换到 admin 数据库
use admin;
  • 初始化数据库
rs.initiate();
  • 创建管理员用户
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
posted @ 2021-07-15 20:43  Joe_du  阅读(972)  评论(0编辑  收藏  举报