返回顶部
首页 > 资讯 > 数据库 >MongoDB 安装
  • 720
分享到

MongoDB 安装

MongoDB安装 2021-05-18 09:05:41 720人浏览 绘本
摘要

1.  yum方式安装 1、添加一个yum源 创建一个 /etc/yum.repos.d/mongoDB-org-5.0.repo 文件 [monGodb-org-5.0] name=MongoDB Repository baseurl

MongoDB 安装

1.  yum方式安装

1、添加一个yum源

创建一个 /etc/yum.repos.d/mongoDB-org-5.0.repo 文件

[monGodb-org-5.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/5.0/x86_64/
gpGCheck=1
enabled=1
gpgkey=Https://www.mongodb.org/static/pgp/server-5.0.asc

2、安装MongoDB包

sudo yum install -y mongodb-org

默认配置文件:/etc/mongod.conf

默认数据文件目录:/var/lib/mongo

默认日志文件目录:/var/log/mongodb

3、可以自定义配置文件,更改某些设置

比如,指定新的数据存储目录(例如:/some/data/directory)或者 指定新的日志文件路径(例如:/some/log/directory/mongod.log)

最后,一定要确保运行MongoDB的用户有权限访问这些目录。假设我们新创建了一个用户叫zhangsan,我们打算用zhangsan这个用户来运行MongoDB,那么必须确保zhangsan可以访问/some/data/directory和/some/log/directory/mongod.log

于是,可以这样操作

sudo chown -R zhangsan:zhangsan 
mongod --config /etc/mongod.conf

PS:如果更改运行 MongoDB 进程的用户,则必须授予新用户访问这些目录的权限。

4、启动MongoDB

sudo systemctl start mongod

5、查看MongoDB运行状态

sudo systemctl status mongod

6、停止MongoDB

sudo systemctl stop mongod

7、重启MongoDB

sudo systemctl restart mongod

8、使用MongoDB 

mongosh

在与 mongod 相同的主机上启动 mongosh 会话。可以在不带任何参数的情况下运行 mongosh,这样的话就会连接本地 localhost 上运行的 mongod,默认端口为 27017。

9、help

10、卸载MongoDB

# 停止服务
sudo systemctl stop mongod
# 删除安装包
sudo yum erase $(rpm -qa | grep mongodb-org)
# 删除数据库和日志文件
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongo

11、快速开始

MongoDB 将文档存储在集合中。 集合类似于关系数据库中的表。 如果集合不存在,MongoDB 会在首次存储该集合的数据时创建该集合。

12、包名称和描述

  • mongodb-org-database : 是一个metapackage,会自动安装下列组件包
  1. mongodb-org-server : 包含 mongod 守护进程、相关的初始化脚本和配置文件 (/etc/mongod.conf)
  2. mongodb-org-mongos : 包含 mongos 守护进程
  3. mongodb-org-shell : 包含历史遗留的 mongo shell
  • mongodb-mongosh : 包含 MongoDB Shell (mongosh)
  • mongodb-org-tools : 是一个metapackage,会自动安装以下组件包
  1. mongodb-database-tools : 包含下列MongoDB数据库工具(mongodump 、mongorestore 、bsondump 、mongoimport 、mongoexport 、mongostat 、mongotop 、mongofiles)
  2. mongodb-org-database-tools-extra : 包含install_compass脚本

13、关闭防火墙

systemctl stop|start|status firewalld

2.  Docker方式安装

下载镜像

docker pull mongo

指定版本运行容器

1、启动一个 mongo server 实例

docker run --name some-mongo -d mongo:tag

2、从另一个 Docker 容器连接到 MongoDB

以下示例启动另一个 MongoDB 容器实例,并针对上面示例中的原始 MongoDB 容器运行 mongo 命令行客户端,从而允许您对数据库实例执行 MongoDB 语句:

docker run -it --network some-network --rm mongo mongo --host some-mongo test

 (PS:这里解释一下,这就相当于是在B容器中远程连接到A容器,相当于是本地mongo客户端连接到远程mongo服务器。由于现在mongo是运行在docker容器里的,所以我们可以把运行mongo server的容器理解成一台机器A,为了能够在另外一台机器B中连接到A,需要B上至少安装了mongo shell,这就是mongo client 连接到远程 mongo server)

3、容器shell访问并查看MongoDB日志

docker exec 命令允许你在 Docker 容器内运行命令。 以下命令行将为你提供 mongo 容器内的 bash shell: 

docker exec -it some-mongo bash

MongoDB 服务器日志可通过 Docker 的容器日志获得:

docker logs some-mongo

4、帮助

查看帮助,可以知道mongo容器运行时可以带哪些参数

docker run -it --rm mongo --help

5、设置WiredTiger缓存大小限制

docker run --name some-mongo -d mongo --wiredTigerCacheSizeGB 1.5

6、用一个自定义的MongoDB配置文件

mongod 默认不读取配置文件,所以需要通过 --config 选项来指定配置文件的路径。 通过从 mongo 创建自定义 Dockerfile 或将其从主机挂载到容器来创建自定义配置文件并将其放入容器中。 

例如,假设/my/custom/mongod.conf是自定义的配置文件,那么在启动MongoDB容器的时候可以这样:

docker run --name some-mongo -v /my/custom:/etc/mongo -d mongo --config /etc/mongo/mongod.conf

默认的配置文件(/etc/mongod.conf)如下:

# mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

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

# Where and how to store data.
storage:
  dbPath: /var/lib/mongo
  journal:
    enabled: true
#  engine:
#  wiredTiger:

# how the process runs
proceSSManagement:
  fork: true  # fork and run in background
  pidFilePath: /var/run/mongodb/mongod.pid  # location of pidfile
  timeZoneInfo: /usr/share/zoneinfo

# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1  # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.


#security:

#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options

#auditLog:

#snmp:

7、环境变量

启动 mongo 镜像时,可以通过在 docker run 命令行中传递一个或多个环境变量来调整 MongoDB 实例的初始化。

MONGO_INITDB_ROOT_USERNAME, MONGO_INITDB_ROOT_PASSWORD 这两个变量一起使用,创建一个新用户并设置该用户的密码。 该用户是在管理员(admin)身份验证数据库中创建的,并被赋予 root 角色,这是一个“superuser(超级用户)”角色。 

下面是一个例子,使用这两个变量创建一个MongoDB实例,然后使用 mongo cli 连接到admin身份认证数据库。

首先,启动容器,创建MongoDB实例 

docker run -d --network some-network --name some-mongo 
    -e MONGO_INITDB_ROOT_USERNAME=mongoadmin 
    -e MONGO_INITDB_ROOT_PASSWord=secret 
    mongo

连接到前面创建的mongo server实例容器

docker run -it --rm --network some-network mongo 
    mongo --host some-mongo 
        -u mongoadmin 
        -p secret 
        --authenticationDatabase admin 
        some-db

(PS:命令行中的mongo是镜像的名字,而 mongod 是 MongoDB 系统的主要守护进程)

要创建用户,这两个变量都是必需的。 如果二者都存在,那么 MongoDB 将启用身份验证(mongod --auth)

MongoDB 中的身份验证相当复杂,因此更复杂的用户设置通过 /docker-entrypoint-initdb.d/ 显式留给用户自己设置

MONGO_INITDB_DATABASE 这个变量允许您指定用于/docker-entrypoint-initdb.d/*.js中创建脚本的数据库名称

MongoDB 设计的最基本的原则是:"create on first use" (第一次使用时创建)

作为通过环境变量传递敏感信息的替代方法,_FILE 可以附加到先前列出的环境变量中,从而导致初始化脚本从容器中存在的文件中加载这些变量的值。特别是,这可用于从存储在 /run/secrets/ 文件中的 Docker 密钥存储中加载密码。当前,只支持MONGO_INITDB_ROOT_USERNAME 和 MONGO_INITDB_ROOT_PASSWORD 。

docker run --name some-mongo -e MONGO_INITDB_ROOT_PASSWORD_FILE=/run/secrets/mongo-root -d mongo

8、认证

MongoDB 中的身份验证相当复杂,参见:

mongod --auth

Security > Authentication 

Security > Role-Based Access Control 

Security > Role-Based Access Control > Built-In Roles 

Security > Enable Auth (tutorial) 

9、数据存储在哪里 

有两种方法可以存储在 Docker 容器中运行的应用程序使用的数据。

方式一:让Docker使用自己的内部卷管理将数据库文件写入主机系统上的磁盘,从而管理数据库数据的存储。这是默认设置,对用户来说非常简单且相当透明。缺点是,对于直接运行在主机系统上的工具和应用程序(即外部容器)来说,可能很难找到这些文件。

方式二:在宿主机系统(容器外部)上创建一个数据目录,并将其挂载到容器内部可见的目录。这会将数据库文件放置在主机系统上的已知位置,并使主机系统上的工具和应用程序可以轻松访问这些文件。 缺点是,用户需要确保目录存在,例如,主机系统上的目录权限和其他安全机制是正确设置的。

(PS:总结一下,两种方式,一种是放到容器内部,另一种是放到容器外部)

由docker自己管理这种默认行为就不在这里演示了,下面演示一下将容器外部的目录挂载到容器这种方式:

首先,在宿主机上创建一个目录,比如叫 /my/own/datadir

然后,在启动容器的时候使用 -v 选项挂载目录

docker run --name some-mongo -v /my/own/datadir:/data/db -d mongo

这个命令中,-v /my/own/datadir:/data/db 将主机系统上的/my/own/datadir目录挂载到容器的/data/db。docker容器安装mongodb时,默认情况下MongoDB会将它的数据存放在/data/db目录中。

备忘录

docker network create my-network
docker network ls
docker run -d --network my-network --name my-mongo mongo
docker run -it --rm --network my-network mongo mongo --host my-mongo test
docker exec -it my-mongo bash

10、创建数据库转储(dump)

docker exec some-mongo sh -c "exec mongodump -d  --archive" > /some/path/on/your/host/all-collections.arcHive

11、备忘录

docker run --network some-network --name some-mongo -v /my/custom:/etc/mongo -p 27017:27017 -d mongo --config /etc/mongo/mongod.conf

docker run --name some-mongo -p 27017:27017 -d mongo --auth
docker exec -it some-mongo mongo admin

> db.createUser({user:"root",pwd:"123456",roles:["root"]})


docker run -d --name some-mongo 
    -e MONGO_INITDB_ROOT_USERNAME=admin 
    -e MONGO_INITDB_ROOT_PASSWORD=123456 
    mongo


docker exec -it some-mongo mongo

 

 

文档:

https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/

https://reGIStry.hub.docker.com/_/mongo 

https://docs.docker.com/engine/reference/commandline/network/ 

 

您可能感兴趣的文档:

--结束END--

本文标题: MongoDB 安装

本文链接: https://lsjlt.com/news/9051.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 安装mongoDB
      选择自定义安装 选择安装路径,需要建个文件夹,因为安装文件有好几个散着的 必须取消这个√,安装了一夜都没装好,卡住了 切换到安装bin目录下:mongod --dbpath G...
    99+
    2018-07-24
    安装mongoDB
  • MongoDB 安装
    1.  yum方式安装 1、添加一个yum源 创建一个 /etc/yum.repos.d/mongodb-org-5.0.repo 文件 [mongodb-org-5.0] name=MongoDB Repository baseurl...
    99+
    2021-05-18
    MongoDB 安装
  • MongoDB安装
    MongoDB可以使用二进制包安装,也可以使用rpm或者yum安装yum安装方式:以安装MongoDB3.4版本为例1、创建MongoDB yum源vim /etc/yum.repos.d/mon...
    99+
    2024-04-02
  • Ubuntu 安装MongoDB
    Ubuntu16.04安装MongoDB指南 系统初始化 $ sudo apt update $ sudo apt dist-upgrade $ sudo apt autoremove $ sudo apt clean 安装mon...
    99+
    2021-07-25
    Ubuntu 安装MongoDB
  • linux MongoDB安装
    这里是CentOS系统: 使用yum的方式安装也很简单 ,也不需要下载安装包,官网默认是安装最新的版本: 首先创建文件 /etc/yum.repos.d/mongodb-org-4.2.repo  并填写如下内容 [mongodb-o...
    99+
    2018-10-08
    linux MongoDB安装
  • CentOS6.5 安装 MongoDB
    下载MongoDB http://www.mongodb.org/downloads mongodb-linux-x86_64-3.6.3.tgz  #目前最新版是4.0.0   建议关闭selinux [root@mycento...
    99+
    2018-08-28
    CentOS6.5 安装 MongoDB
  • mongodb win 安装
    Mongodb安装...
    99+
    2024-04-02
  • MongoDB的安装
    一、MongoDB的基本介绍MongoDB是一款跨平台、米娜想文档的数据库。可以实现高性能、高可用性,并且能轻松扩展。是一个基于分布式文件存储的开源数据库系统,在高负载的情况下,添加更多的节点,可以保证服务...
    99+
    2024-04-02
  • Centos7 安装mongoDB
    1,下载安装包下载mongoDB的安装文件地址:https://www.mongodb.org/downloads#production 选择Linux 64-bit legacy 版本,下载到目...
    99+
    2024-04-02
  • linux 安装mongodb
    wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.6.9.tgz 解压tar xvf mongodb-linux-x86_64-2.6....
    99+
    2024-04-02
  • CentOS6.4 安装MongoDB
    1、下载MongoDB(64位)http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.9.tgz或http://pan.baidu.com/s/1...
    99+
    2024-04-02
  • windows安装mongodb
    资料:http://docs.mongodb.org/manual/core/introduction/下载:http://docs.mongodb.org/manual/tutorial/install-...
    99+
    2024-04-02
  • yum安装MongoDB
    简介MongoDB在自己的存储库中提供官方支持的包。此存储库包含以下包:(1)mongodb-org:一metapackage,将自动安装以下四个组件包。(2)mongodb-org-server:包含mo...
    99+
    2024-04-02
  • 3.1-MongoDB安装
    MongoDB安装* 搭建yum源如果安装epel扩展源,可以安装mongodb2.4版本,但这次我们要安装3.0版本,官方提供的源只支持64位系统vim /etc/yum.repos.d/mongodb-...
    99+
    2024-04-02
  • mongodb nodejs安装
    MongoDB 和 Node.js 都是非常流行的开发工具,它们都具有非常好的性能,安装也非常简单。在本文中,我们将介绍 MongoDB 和 Node.js 的安装过程,并为您提供详细的步骤。安装 MongoDBMongoDB 是一款开源的...
    99+
    2023-05-14
  • python安装mongodb
    #!/usr/bin/env python #coding:utf-8 import os import tarfile import shutil mongo_package = 'mongodb-linux-x86_64-rhel7...
    99+
    2023-01-31
    python mongodb
  • MongoDB系列—1 Windows安装MongoDB
      Windows安装MongoDB 引言:把MongoDB安装为Windows的一个服务 环境:Windows 7 64 bit 软件:mongodb-win32-x86_64-2.2.2.zi...
    99+
    2024-04-02
  • MongoDB安装调试
    安装 去mongodb的官网http://www.mongodb.org/downloads下载32bit的包   解压后会出现以下文件   在安装的盘C:下建立mongodb文件夹,拷贝bin文件夹到该目录下,这样就相当于安装了mongo...
    99+
    2017-04-08
    MongoDB安装调试
  • Linux下安装MongoDB
    下载安装包 下载地址:https://www.mongodb.com/download-center/community curl -O https://fastdl.mongodb.org/linux/mongodb-linux...
    99+
    2018-10-14
    Linux下安装MongoDB
  • centos7下安装mongodb
    centos7下安装mongodb chenlongjs 2020-03-03 20:14:47 746 收藏 2 分类专栏: 个人问题总结 服役器配置 版权 mongodb介绍 MongoDB 是一个介于关系数据库和非关系数据库之间的产...
    99+
    2018-07-29
    centos7下安装mongodb
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作