轻松掌握组件启动之MongoDB:快速入门、Linux安装和Docker配置指南

引言

我们将继续深入研究组件启动专题。在之前的文章中,我们已经详细介绍了Redis的各种配置使用方法,为读者提供了全面的指导。然而,今天我们将转向另一个备受关注的数据库------MongoDB。MongoDB是一种流行的NoSQL数据库,具有强大的灵活性和可扩展性。在这篇文章中,我们将探索MongoDB的安装和使用过程,帮助读者快速上手这个强大的数据库。

MongoDB快速开始

linux安装MongoDB

在准备安装MongoDB之前,我们需要确保我们的环境准备就绪。

首先,我们需要一个运行在CentOS 7上的Linux系统

接下来,我们需要下载MongoDB社区版,你可以在官方网站上找到它。下载地址是 www.mongodb.com/try/downloa...

下载完成后,我们可以继续进行MongoDB的安装过程。让我们开始吧!

bash 复制代码
# 下载MongoDB
wget https://fastdl.mongodb.org/linux/mongodb‐linux‐x86_64‐rhel70‐4.4.9.tgz
tar ‐zxvf mongodb‐linux‐x86_64‐rhel70‐4.4.9.tgz

启动MongoDB Server

bash 复制代码
#创建dbpath和logpath
mkdir ‐p /mongodb/data /mongodb/log

#进入mongodb目录,启动mongodb服务
bin/mongod ‐‐port=27017 ‐‐dbpath=/mongodb/data ‐‐logpath=/mongodb/log/mongodb.log ‐‐bind_ip=0.0.0.0 ‐‐fork
  • --dbpath :用于指定数据文件存放的目录。
  • --logpath :用于指定日志文件的路径,注意这里需要指定文件而不是目录。
  • --logappend :使用追加的方式记录日志。
  • --port :用于指定端口号,默认为27017。
  • --bind_ip :默认只监听localhost网卡。
  • --fork :用于在后台启动。
  • --auth :用于开启认证模式。

添加环境变量

打开终端并输入以下命令修改/etc/profile,这将在环境变量中添加MongoDB的路径。,方便执行MongoDB命令,确保将路径/usr/local/mongodb/bin替换为您实际安装MongoDB的路径。

ini 复制代码
export MONGODB_HOME=/usr/local/soft/mongodb
PATH=$PATH:$MONGODB_HOME/bin

然后在终端中输入以下命令:source /etc/profile 重新加载文件并使环境变量生效。

利用配置文件启动服务

编辑/mongodb/conf/mongo.conf文件,内容如下:

yaml 复制代码
systemLog:
  destination: file
  path: /mongodb/log/mongod.log # log path
  logAppend: true
storage:
  dbPath: /mongodb/data # data directory
  engine: wiredTiger # 存储引擎
  journal: # 是否启用journal日志
    enabled: true
net:
  bindIp: 0.0.0.0
  port: 27017 # port
processManagement:
  fork: true

需要注意的是,一定要使用YAML格式:

开始启动mongod

bash 复制代码
mongod ‐f /mongodb/conf/mongo.conf

-f 选项表示将使用使用指定配置文件启动mongodb

关闭MongoDB服务

方式1:使用终端命令

ini 复制代码
mongod ‐‐port=27017 ‐‐dbpath=/mongodb/data ‐‐shutdown

方式2: 进入mongo shell

perl 复制代码
use admin
db.shutdownServer()

Docker安装

https://hub.docker.com/_/mongo?tab=description&page=3

ini 复制代码
#拉取mongo镜像
docker pull mongo:4.4.10

#运行mongo镜像
docker run ‐‐name mongo‐server ‐p 29017:27017 \
‐e MONGO_INITDB_ROOT_USERNAME=xiaoyu \
‐e MONGO_INITDB_ROOT_PASSWORD=xiaoyu \
‐d mongo:4.4.10 ‐‐wiredTigerCacheSizeGB 1

在默认情况下,Mongo会根据主机的总内存比例来设置wiredTigerCacheSizeGB的值。然而,它并不会考虑你可能对容器施加的内存限制。如果MONGO_INITDB_ROOT_USERNAME和MONGO_INITDB_ROOT_PASSWORD都存在,那么身份认证(mongod --auth)会被启用。

shell 复制代码
#进入容器
docker exec ‐it mongo‐server bash

#进入Mongo shell
mongo ‐u xiaoyu ‐p xiaoyu

#创建用户,赋予test库的操作权限
>use test
>db.createUser({user:"dcl",pwd:"123456",roles:["readWrite"]})

进入mongo shell

bash 复制代码
#远程连接
mongo 192.168.65.97:29017 ‐u dcl ‐p 123456

注意下:dcl用户只具备test库的readWrite权限

总结

本文总结了MongoDB的快速入门、Linux安装和Docker配置指南。提供了一步步的操作指引,帮助读者迅速上手MongoDB,并了解如何在Linux环境下进行安装、启动和配置。此外,文章还介绍了使用Docker安装和配置MongoDB的方法,使读者能够更轻松地部署和管理MongoDB实例。

相关推荐
东风破_3 小时前
从输入 juejin.cn 到看到页面:DNS、Nginx、服务器集群与 CDN 到底在做什么?
后端·mysql
东风破_3 小时前
从 0 设计一个博客数据库:用户、头像与文章表应该怎么建?
后端·mysql
大鸡腿同学4 小时前
黄仁勋点透的 AI 真相:能实现你知道但做不到的,却实现不了你不知道的
后端
FfHUCisI4 小时前
Go 编译过程全景
开发语言·后端·golang
FfHUCisI4 小时前
Golang 语法分析与 AST:Parser 与 go/ast
开发语言·后端·golang
大模型码小白5 小时前
Spring AI Tool 实现自然语言操作 MySQL 数据库详解
服务器·开发语言·数据库·人工智能·python·mysql·spring
晓晓_za8986686 小时前
开源 GEO 优化源码二次开发:贴牌改造与业务模块扩展实践
java·运维·服务器·开发语言·性能优化·开源
++==6 小时前
RESTful详解:核心思想、框架、与HTTP的区别,API的设计风格
后端·http·restful
云贝教育-郑老师7 小时前
【麒麟服务器系统交付:一个DBA的六年信创实战笔记】
服务器·笔记·dba
会飞的土拨鼠呀7 小时前
Linux的存储使用率应该如何计算
linux·运维·服务器