引言

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

MongoDB快速开始

linux安装MongoDB

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

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

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

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

# 下载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

#创建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的路径。

export MONGODB_HOME=/usr/local/soft/mongodb
PATH=$PATH:$MONGODB_HOME/bin

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

利用配置文件启动服务

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

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

mongod ‐f /mongodb/conf/mongo.conf

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

关闭MongoDB服务

方式1:使用终端命令

mongod ‐‐port=27017 ‐‐dbpath=/mongodb/data ‐‐shutdown

方式2:

进入mongo shell

use admin
db.shutdownServer()

Docker安装

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

#拉取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)会被启用。

#进入容器
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

#远程连接
mongo 192.168.65.97:29017 ‐u dcl ‐p 123456

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

总结

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

轻松掌握组件启动之MongoDB:快速入门、Linux安装和Docker配置指南的更多相关文章

  1. 前端开发小白必学技能—非关系数据库又像关系数据库的MongoDB快速入门命令(2)

    今天给大家道个歉,没有及时更新MongoDB快速入门的下篇,最近有点小忙,在此向博友们致歉.下面我将简单地说一下mongdb的一些基本命令以及我们日常开发过程中的一些问题.mongodb可以为我们提供 ...

  2. MongoDb 快速入门教程

    文章首发于[博客园-陈树义],点击跳转到原文MongoDb 快速入门教程. MongoDb 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. 它是可扩展的 ...

  3. MongoDB快速入门指南与docker-compose快体验

    MongoDB快速入门指南与docker-compose快体验 MongoDB相对于RDBMS的优势 模式少 -MongoDB是一个文档数据库,其中一个集合包含不同的文档.一个文档之间的字段数,内容和 ...

  4. MongoDB从入门到实战之MongoDB快速入门

    前言 上一章节主要概述了MongoDB的优劣势.应用场景和发展史.这一章节将快速的概述一下MongoDB的基本概念,带领大家快速入门MongoDB这个文档型的NoSQL数据库. MongoDB从入门到 ...

  5. Transform组件C#游戏开发快速入门

    Transform组件C#游戏开发快速入门大学霸 组件(Component)可以看作是一类属性的总称.而属性是指游戏对象上一切可设置.调节的选项,如图2-8所示.本文选自C#游戏开发快速入门大学霸   ...

  6. MongoDB从入门到实战之Docker快速安装MongoDB

    前言 在上一篇文章中带领带同学们快速入门MongoDB这个文档型的NoSQL数据库,让大家快速的了解了MongoDB的基本概念.这一章开始我们就开始实战篇教程,为了快速把MongoDB使用起来我将会把 ...

  7. 版本控制工具Git工具快速入门-Linux篇

    版本控制工具Git工具快速入门-Linux篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.版本管理系统的介绍 1>.版本管理系统的特点 1.1>.自动生成备份: ...

  8. webpack快速入门——如何安装webpack及注意事项

    1.window+R键,输入cmd打开命令行工具,输入 mkdir XXXX(XX:文件夹名): 2.cd XXX 进入刚刚创建好的文件夹里,输入cnpm install -g webpack (安装 ...

  9. Yeoman入门之安装及环境配置

    Yeoman入门之安装及环境配置 http://blog.csdn.net/panlingfan/article/details/27345037 http://www.nodejs.orgYEOMA ...

  10. [你必须知道的NOSQL系列]专题一:MongoDB快速入门

    一.前言 现在越来越多的公司开始采用非关系数据库了,并且很多公司的面试都要求面试者有MongoDB的使用经验,至于非关系数据库与关系型数据库之间的区别大家可以自行百度.但是作为程序员的我们,既然大部分 ...

随机推荐

  1. Linux 可执行文件瘦身指令 strip 使用示例

    以下内容为本人的学习笔记,如需要转载,请声明原文链接微信公众号「ENG八戒」https://mp.weixin.qq.com/s/lJ8vj-FszEoplMVcmT0I0w 在 Linux 系统下开 ...

  2. ElasticSearch - 批量更新bulk死锁问题排查

    一.问题系统介绍 监听商品变更MQ消息,查询商品最新的信息,调用BulkProcessor批量更新ES集群中的商品字段信息; 由于商品数据非常多,所以将商品数据存储到ES集群上,整个ES集群共划分了2 ...

  3. 从零玩转SpringBoot3-快速入门

    一.简介 1.前置知识 ​ ● Java17 ​ ● Spring.SpringMVC.MyBatis ​ ● Maven.IDEA 2.环境要求 环境&工具 版本(or later) Spr ...

  4. 从硅谷到北京,百位AI大咖连续两天集聚讨论AI智能和实践

    全球AI大咖齐聚北京,探讨人工智能前沿!百位AI大咖倾力出席,冲向AI大浪潮! AI从业者和企业家们,一场引领未来的科技盛宴即将在北京掀起!我们荣幸地宣布,第四届"数据智能创新与实践人工智能 ...

  5. 2023ccpc大学生程序设计竞赛-wmh

    这算是我第一次参加这种团队赛,感谢程老师给我这个机会.刚开赛还算比较顺利,一眼看出来A是个签到,拿下之后开始跟榜F题.一开始想法比较简单,就是排序,记录相邻两个数的差,然后再排序.wa了后以为是范围出 ...

  6. TCP 初识(一)

    什么是TCP? TCP是面向连接的,可靠的,基于字节流的传输层通信协议. 面向连接:一定是一对一才能连接,不能像UDP协议可以一个主机同时向多个主机发送消息,也就是一对多是无法做到的. 可靠的:无论网 ...

  7. yum与软件包

    从一个命令开始 yum provides iostat ## 找到软件包名为:sysstat-10.1.5-19.el7.x86_64 安装软件包 yum install sysstat-10.1.5 ...

  8. Linux 命令:diff

    用途 示例 备注 查看区别 diff file_1 file_2 不加选项 并排输出 diff file_1 file_2 -y -W 50 类似vimdiff 生成patch diff -ruN f ...

  9. Vue报错Custom elements in iteration require 'v-bind:key' directives."错误解决

    错误代码 <swiper> <swiper-item v-for="item in banners"> <a :href="item.lin ...

  10. VScode 中golang 调试 F5,json文件内容更改 Go

    调试:在Vscode软件中调试.go文件代码 1.1.1 确保调试文件正常运行 准备好.go文件,并且该文件能正常运行,终端输入命令运行程序,如:go run time.go 测试代码: packag ...