引言

我们将继续深入研究组件启动专题。在之前的文章中,我们已经详细介绍了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. 离线安装mysql报错解决方法:/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open sha --九五小庞

    Linux:centos 7.6 64位 mysql:5.6使用离线方式安装:rpm -ivh --nodeps mysql* ,执行 systemctl start mysqld.service发现 ...

  2. Taurus .Net Core 微服务开源框架:Admin 插件【4-1】 - 配置管理-Kestrel【含https启用】

    前言: 继上篇:Taurus .Net Core 微服务开源框架:Admin 插件[3] - 指标统计管理 本篇继续介绍下一个内容: 1.系统配置节点:App - Config 界面 界面图如下: 双 ...

  3. 为控制器生成OpenAPI注释

    非常喜欢. NET 的 /// 注释,写代码的时候就顺道完成写文档的过程,简直不要太爽了. ASP. NET CORE 也是一样的,通过 Swagger 工具,可以自动生成 API 的接口文档(Ope ...

  4. 数据库连接池之c3p0-0.9.1.2,16年的古董,发生连接泄露怎么查(一)

    背景 这篇文章是写给有缘人的,为什么这么说呢,因为本篇主要讲讲数据库连接池之c3p0-0.9.1.2版本. 年轻的朋友,可能没怎么听过c3p0了,或者也仅限于听说,这都很正常,因为c3p0算是200几 ...

  5. 【Dotnet 工具箱】推荐一个使用 C# 开发的轻量级压测工具

    你好,这里是 Dotnet 工具箱,定期分享 Dotnet 有趣,实用的工具和组件,希望对您有用! 轻量级压测工具 LoadTestToolbox 是一个使用 C# 开发的轻量级压测工具,基于 .NE ...

  6. debian 防火墙命令 nft

    参考链接:nftables # which nft /usr/sbin/nft # dpkg -S /usr/sbin/nft nftables: /usr/sbin/nft # dpkg -L nf ...

  7. WPF 中WebBrowser 控件的“允许阻止的内容”修复(引用本地的html页)

    解决方法:(个人理解:导致原因就是iE安全机制的问题吧).在你的HTML里面第一行加: <!-- saved from url=(0014)about:internet -->具体原因可以 ...

  8. 彻底搞懂Vue针对数组和双向绑定(MVVM)的处理方式

    欢迎关注我的博客:https://github.com/wangweianger/myblog Vue内部实现了一组观察数组的变异方法,例如:push(),pop(),shift()等. Object ...

  9. 如何通过cookie、session鉴权(nodejs/koa)

    http是一种无状态的协议,每一个请求都是独立的,即使同一个页面向服务器发送多次请求,服务器也无法区分是不是同一用户,所以这个时候可以借助于cookie来做身份认证,当用户登录成功,服务器为浏览器设置 ...

  10. [linux]搭建nfs

    环境 说明 IP 系统版本 服务端 192.168.137.7 centos 7 客户端 192.168.137.8 centos 7 步骤 配置服务端 安装 nfs 服务 yum install - ...