【快捷部署】017_MongoDB(6.0.14)

ITHW017.jpg


📣【快捷部署系列】017期信息

编号 选型 版本 操作系统 部署形式 部署模式 复检时间
017 MongoDB 6.0.14 Ubuntu 20.04 apt 单机 2024-04-11

一、快捷部署

#!/bin/bash
#################################################################################
# 作者:cxy@toctalk@hwy 2024-04-10                                                 
# 功能:自动部署MongoDB 6.0 社区版
# 说明:修改了默认端口,bindIp,数据及日志存储路径,未配置鉴权。                    
#################################################################################

info(){
  echo -e "\033[34m 【`date '+%Y-%m-%d %H:%M:%S'`\033[0m" "\033[35m$1\033[0m "
}

#自定义mongodb配置文件
diy_MongoDB_config(){
	
 sudo mkdir -p /cxy/mongodb/data
 sudo mkdir -p /cxy/mongodb/logs

 chmod 777 /cxy/mongodb/data
 chmod 777 /cxy/mongodb/logs

 #备份原始配置文件
 cp /etc/mongod.conf /cxy/mongodb/mongod.conf.bak
 sudo rm -f /etc/mongod.conf
 sudo touch /etc/mongod.conf

 # 创建 MongoDB 配置文件
sudo cat > /etc/mongod.conf <<EOF
# Where and how to store data.
storage:
  dbPath: /cxy/mongodb/data
#  engine:
#  wiredTiger:

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /cxy/mongodb/logs/mongod.log

# network interfaces
net:
  port: 27123
  bindIp: 0.0.0.0


# how the process runs
processManagement:
  timeZoneInfo: /usr/share/zoneinfo

#security:

EOF

}


# 安装 MongoDB 6.0 社区版
install_MongoDB(){
 

 sudo apt-get install -y gnupg curl

 #导入MongoDB公共GPG密钥
 curl -fsSL https://www.mongodb.org/static/pgp/server-6.0.asc | \
   sudo gpg -o /usr/share/keyrings/mongodb-server-6.0.gpg \
   --dearmor

 # 添加 MongoDB 仓库源
 echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-6.0.gpg ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list

 # 更新软件包列表
 sudo apt-get update

 #安装指定版本
 info "开始安装 MongoDB(6.0.14)..."
 sudo apt-get install -y mongodb-org=6.0.14 mongodb-org-database=6.0.14 mongodb-org-server=6.0.14 mongodb-org-mongos=6.0.14 mongodb-org-tools=6.0.14

 # 调整ulimit限制,Ubuntu 22.04 默认好像已经设置了,可自行确认,如没设置,可手动执行
 info "安装完毕,开始处理ulimit设置..."
 #echo "* soft nofile 65536" | sudo tee -a /etc/security/limits.conf
 #echo "* hard nofile 65536" | sudo tee -a /etc/security/limits.conf

 ulimit -n 65535

 #固定当前安装版本(可选操作)
 echo "mongodb-org hold" | sudo dpkg --set-selections
 echo "mongodb-org-database hold" | sudo dpkg --set-selections
 echo "mongodb-org-server hold" | sudo dpkg --set-selections
 echo "mongodb-mongosh hold" | sudo dpkg --set-selections
 echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
 echo "mongodb-org-tools hold" | sudo dpkg --set-selections

 #自定义配置文件
 diy_MongoDB_config

 # 启动 MongoDB 服务
 sudo systemctl start mongod

 # 检查 MongoDB 服务状态
 sudo systemctl status mongod

 info "部署完毕!相关部署信息如下:"
 info "连接IP地址参考:$(hostname -I)$(curl ifconfig.me/ip)"
 info "端口:27123"
 info "数据存储目录:/cxy/mongodb/data"
 info "日志目录:/cxy/mongodb/logs"
}

install_MongoDB


使用方法:

$ vim install-MongoDB6-Ubuntu20.sh
$ chmod +x install-MongoDB6-Ubuntu20.sh
$ ./install-MongoDB6-Ubuntu20.sh
# 感谢淘客科技提供的实验资源环境

mongodb部署验证信息.png


验证:

#查看服务状态
$ sudo systemctl status mongod

#查看 ulimit配置情况
$ ulimit -a
$ cat /etc/security/limits.conf

#查看自定义的配置信息
$ cat /etc/mongod.conf


二、入门体验

# 连接 MongoDB 数据库
mongosh mongodb://127.0.0.1:27123

# 创建数据库
use mydb

# 创建集合
db.createCollection("demo")

# 插入文档
db.demo.insertOne({ "name": "CXY", "age": 99 })

# 查询文档
db.demo.find()


mongodb入门体验.png


由于是入门系列,所以仅列举了简单的体验场景。
更多信息可访问官网:https://www.mongodb.com/zh-cn/docs/v6.0/tutorial/install-mongodb-on-ubuntu/
当然,您也可以关注我,关注后续相关博文。



往期精彩内容推荐

云原生:5分钟了解一下Kubernetes是什么
【快捷部署】015_Minio(latest)
【快捷部署】014_elasticsearch(7.6)
【快捷部署】011_PostgreSQL(16)
【快捷部署】010_MySQL(5.7.27)
【快捷部署】009_Redis(6.2.14)
「快速部署」第一期清单

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-12 20:48:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-12 20:48:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-12 20:48:02       87 阅读
  4. Python语言-面向对象

    2024-04-12 20:48:02       96 阅读

热门阅读

  1. 4.8作业

    4.8作业

    2024-04-12 20:48:02      47 阅读
  2. 前端小白学习Vue框架(二)

    2024-04-12 20:48:02       41 阅读
  3. qt 系列教程(3) 对话框

    2024-04-12 20:48:02       50 阅读
  4. AcWing 790. 数的三次方根

    2024-04-12 20:48:02       39 阅读
  5. 登录加载动画

    2024-04-12 20:48:02       69 阅读
  6. Sed 命令深度解析:Linux 文本处理的利刃

    2024-04-12 20:48:02       46 阅读
  7. WebKit结构简介

    2024-04-12 20:48:02       49 阅读
  8. [深度学习] 无人车避开赛道边的障碍物

    2024-04-12 20:48:02       52 阅读
  9. 商业智能-BI

    2024-04-12 20:48:02       42 阅读
  10. C++ 多态

    2024-04-12 20:48:02       32 阅读
  11. CLR学习

    CLR学习

    2024-04-12 20:48:02      46 阅读