使用本教程使用.rpm 软件包在红帽企业Linux或CentOS Linux版本6和7上安装MongoDB Community Edition 。

平台支持

本安装指南仅支持64位系统。详细信息请参见平台支持

MongoDB 3.4取消了对红帽企业Linux 5的支持。

软件包

MongoDB在他们自己的仓库中提供官方支持的包。该存储库包含以下软件包:

包裹名字 描述
mongodb-org metapackage将自动安装下面列出的四个组件软件包。
mongodb-org-server 包含mongod守护进程和相关的配置以及init脚本。
mongodb-org-mongos 包含mongos守护进程。
mongodb-org-shell 包含mongo外壳。
mongodb-org-tools 包含以下的MongoDB工具:,,, , ,,,和。mongoimportbsondumpmongodumpmongoexportmongofilesmongoperfmongorestoremongostatmongotop

mongodb-org-server软件包提供了一个mongod/etc/mongod.conf 配置文件开始的初始化脚本。

有关使用此初始化脚本的详细信息,请参阅运行MongoDB Community Edition

/etc/mongod.conf软件包提供的默认配置文件默认bind_ip设置为127.0.0.1。在初始化副本集之前根据您的环境需要修改此设置 。

安装MongoDB社区版

注意

要安装不同版本的MongoDB,请参考该版本的文档。例如,参见3.4版。

本安装指南仅支持64位系统。详细信息请参见平台支持

1

配置包管理系统(yum)。

创建一个/etc/yum.repos.d/mongodb-org-3.6.repo文件,以便您可以直接使用安装MongoDB yum

版本3.0更改: MongoDB Linux软件包位于以3.0开头的新存储库中。

对于MongoDB

使用以下存储库文件:

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

MongoDB的版本比3.6

要从早期版本系列(如3.4)安装软件包,可以在存储库配置中指定版本系列。例如,要将系统限制到3.4版系列,请创建一个 /etc/yum.repos.d/mongodb-org-3.4.repo文件以保存MongoDB 3.4存储库的以下配置信息:

[mongodb-org-3.4]
name=MongoDB 3.4 Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=0
enabled=1

您可以在存储库本身中找到.repo每个版本的文件。请记住,奇数次版本(例如3.5)是开发版本,不适合生产使用。

2

安装MongoDB软件包。

要安装最新的稳定版本的MongoDB,请发出以下命令:

sudo yum install -y mongodb-org

要安装特定版本的MongoDB,请分别指定每个组件包并将版本号附加到包名称,如下例所示:

sudo yum install -y mongodb-org-3.6.3 mongodb-org-server-3.6.3 mongodb-org-shell-3.6.3 mongodb-org-mongos-3.6.3 mongodb-org-tools-3.6.3

您可以指定任何可用的MongoDB版本。但是yum ,当更新的版本可用时,将升级软件包。为防止意外升级,请钉住包装。要固定包装,请将以下exclude指令添加到您的/etc/yum.conf文件中:

exclude=mongodb-org,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools

运行MongoDB社区版

大多数类Unix操作系统会限制会话可能使用的系统资源。这些限制可能会对MongoDB的运营产生负面影响。有关更多信息,请参阅UNIX ulimit设置

配置

重要

如果您使用的是SELinux,则必须配置SELinux以允许MongoDB在基于Red Hat Linux的系统(红帽企业Linux或CentOS Linux)上启动。

要配置SELinux,管理员有三种选择:

  • 如果SELinux处于enforcing模式,则允许访问MongoDB部署将使用的相关端口(例如27017)。有关MongoDB默认端口的更多信息,请参阅默认MongoDB端口。对于默认设置,这可以通过运行来完成

    semanage port -a -t mongod_port_t -p tcp 27017
    
  • SELINUX设置设置为 disabledin,禁用SELinux /etc/selinux/config

    SELINUX=disabled
    

    您必须重新启动系统才能使更改生效。

  • 通过将设置设置为,将SELinux设置为permissive模式。/etc/selinux/configSELINUXpermissive

    SELINUX=permissive
    

    您必须重新启动系统才能使更改生效。

    您可以改用setenforce更改为permissive模式。 setenforce不需要重启,但不是持久的。

或者,您可以选择在安装Linux操作系统时不安装SELinux软件包,或选择删除相关软件包。该选项是最具侵入性的,不推荐。

数据目录和权限

警告

在RHEL 7.0上,如果更改数据路径,则如果不更改安全上下文,则默认的 SELinux策略将阻止mongod对新数据路径拥有写入权限。

MongoDB实例默认存储其数据文件/var/lib/mongo 及其日志文件/var/log/mongodb,并使用mongod 用户帐户运行。您可以在中指定备用日志和数据文件目录/etc/mongod.conf。请参阅systemLog.path 并storage.dbPath获取更多信息。

如果更改运行MongoDB进程的用户,则 必须修改/var/lib/mongo和 /var/log/mongodb目录的访问控制权限,以使该用户可以访问这些目录。

程序

1

启动MongoDB。

您可以mongod通过发出以下命令来启动进程:

sudo service mongod start

pm2启动的话 使用pm2 start mongo
在这里启动mongo 会出现一些问题:比方说对端口进行配置,有一个和tomcat类似的配置文件mongod.conf可以修改我们的端口,同时也要对防火墙惊醒修改
2

确认MongoDB已成功启动

您可以mongod通过检查日志文件的内容以/var/log/mongodb/mongod.log 查看行数来验证过程是否已成功启动

[initandlisten] waiting for connections on port <port>

其中<port>被配置为在该端口/etc/mongod.conf27017默认情况下。

您可以选择通过发出以下命令来确保MongoDB在启动系统后启动:

sudo chkconfig mongod on
3

停止MongoDB。

根据需要,您可以mongod通过发出以下命令来停止进程:

sudo service mongod stop
4

重新启动MongoDB。

您可以mongod通过发出以下命令来重新启动进程:

sudo service mongod restart

您可以通过查看/var/log/mongodb/mongod.log文件中的输出来跟踪错误或重要消息的进程状态。

开始使用MongoDB。

mongo在同一台主机上启动一个shell mongod。使用--host命令行选项指定mongod 侦听的本地主机地址和端口:

mongo --host 127.0.0.1:27017

稍后,要停止MongoDB,请Control+Cmongod实例正在运行的终端中 按下。

卸载MongoDB Community

要从系统中完全删除MongoDB,您必须删除MongoDB应用程序本身,配置文件以及包含数据和日志的任何目录。以下部分将指导您完成必要的步骤。

警告

此过程将彻底删除MongoDB及其配置和所有 数据库。这个过程是不可逆的,因此请确保在继续之前备份所有配置和数据。

1

停止MongoDB。

mongod通过发出以下命令来停止进程:

sudo service mongod stop
2

删除包。

删除以前安装的任何MongoDB软件包。

sudo yum erase $(rpm -qa | grep mongodb-org)
3

删除数据目录。

删除MongoDB数据库和日志文件。

sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongo 相关文档:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/

Linux上安装MongoDB的更多相关文章

  1. linux上安装MongoDB副本集(带keyfile安全认证以及用户权限)

    搭建前准备 MongoDB版本:4.0 主要参考搭建MongoDB副本集网站:https://www.jianshu.com/p/f021f1f3c60b 安装之前最好先确定一下几点: 防火墙关闭 M ...

  2. Linux上安装 MongoDB ZK MEMCACHE PHP扩展

    安装mongo扩展: 下载地址:https://github.com/mongodb/mongo-php-driver,下载该源码包 /usr/local/php/bin/pecl install m ...

  3. 在 CentOS7 上安装 MongoDB

    在 CentOS7 上安装 MongoDB 1 通过 SecureCRT 连接至 CentOS7 服务器: 2 进入到 /usr/local/ 目录: cd /usr/local 3 在当前目录下创建 ...

  4. 在Windows上安装MongoDB

    原文官方文档:https://docs.mongodb.org/v2.6/tutorial/install-mongodb-on-windows/ 基于版本:MongoDB 2.6 概览 通过这个示例 ...

  5. Linux平台安装MongoDB及使用Docker安装MongoDB

    一.Linux平台安装MongoDB MongoDB 提供了 linux 各发行版本 64 位的安装包,你可以在官网下载安装包. 下载地址:https://www.mongodb.com/downlo ...

  6. (转)在 CentOS7 上安装 MongoDB

    在 CentOS7 上安装 MongoDB 1 通过 SecureCRT 连接至 CentOS7 服务器: 2 进入到 /usr/local/ 目录: cd /usr/local 3 在当前目录下创建 ...

  7. 如何在 Ubuntu 上安装 MongoDB

    MongoDB 是一个越来越流行的自由开源的 NoSQL 数据库,它将数据存储在类似 JSON 的灵活文档集中,这与 SQL 数据库中常见的表格形式形成对比. 你很可能发现在现代 Web 应用中使用 ...

  8. 如何在CentOS/RHEL & Fedora上安装MongoDB 3.2

    MongoDB(名称取自"huMONGOus")是一个有着全面灵活的索引支持和丰富的查询的数据库.MongoDB通过GridFS提供强大的媒体存储.点击这里获取MongoDB的更多 ...

  9. 在Windows和Linux上安装paramiko模块以及easy_install的安装方法

    一.paramiko模块有什么用? paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接.由于使用的是python这样的能够跨平台运行的语言 ...

随机推荐

  1. c++ string写时复制

    string写时复制:将字符串str1赋值给str2后,除非str1的内容已经被改变,否则str2和str1共享内存.当str1被修改之后,stl才为str2开辟内存空间,并初始化. #include ...

  2. sscanf的用法

    sscanf也太好用了8我竟然一直都不知道qaq #include<cstdio> #include<cstdlib> #include<cstring> #inc ...

  3. 伪病毒 Rp_test

    第一个写的对电脑有破坏性的程序= =,然后发现写system的copy的时候不会用字符串替代路径,然后就萎了= =,只能写一个没有自身复制的伪病毒了,坑到了好多同学的电脑,23333.... //By ...

  4. python中正则用法举例

    一.根据正则表达式替换字符串 import re text='abc123' text=re.sub(r'\d','-',text) print(text) 输出:abc---将每个数字替换为-,如果 ...

  5. python进行机器学习(四)之模型验证与参数选择

    一.模型验证 进行模型验证的一个重要目的是要选出一个最合适的模型,对于监督学习而言,我们希望模型对于未知数据的泛化能力强,所以就需要模型验证这一过程来体现不同的模型对于未知数据的表现效果. 这里我们将 ...

  6. python碎片记录(二)

    1.字典中嵌套字典使用 dict={'a':{1:2,2:3}} print(dict) print(dict['a'][2]) 输出如下: {'a': {1: 2, 2: 3}} 3  2.元组与l ...

  7. HTTP和HTTPS详解。

    一,HTTP和HTTPS基本概念 深入学习某个东西时,我们先来从维基百科上看看它俩的概念. HTTP:超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一 ...

  8. 更新ubuntu15.10后触摸板点击功能消失

    问题描述: 昨天升级了ubuntu15.10,升级之后很多15.04让人不爽的东西消失了,大快人心,但是突然发现自己的触摸板不怎么好用了,原来可以点击,双指点击代表右键,三指点击代表鼠标中键的功能不见 ...

  9. 【Windows使用笔记】Windows日常使用软件

    整理一些对于我来说日常使用的Windows软件. 排名不分先后,仅凭我想起来的顺序! 1 MadAppLauncher 这个对我来说非常需要了. 使用它可以快速启动日常常用的软件,非常快捷高效.一般来 ...

  10. sk_buff结构

    sk_buff结构用来描述已接收或者待发送的数据报文信息:skb在不同网络协议层之间传递,可被用于不同网络协议,如二层的mac或其他链路层协议,三层的ip,四层的tcp或者udp协议,其中某些成员变量 ...