轻松掌握组件启动之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实例。

相关推荐
NiNg_1_2341 小时前
SpringBoot整合SpringSecurity实现密码加密解密、登录认证退出功能
java·spring boot·后端
2401_850410832 小时前
文件系统和日志管理
linux·运维·服务器
Chrikk3 小时前
Go-性能调优实战案例
开发语言·后端·golang
幼儿园老大*3 小时前
Go的环境搭建以及GoLand安装教程
开发语言·经验分享·后端·golang·go
canyuemanyue3 小时前
go语言连续监控事件并回调处理
开发语言·后端·golang
杜杜的man3 小时前
【go从零单排】go语言中的指针
开发语言·后端·golang
一只哒布刘3 小时前
NFS服务器
运维·服务器
customer084 小时前
【开源免费】基于SpringBoot+Vue.JS周边产品销售网站(JAVA毕业设计)
java·vue.js·spring boot·后端·spring cloud·java-ee·开源