Linux上安装MongoDB
使用本教程使用.rpm
软件包在红帽企业Linux或CentOS Linux版本6和7上安装MongoDB Community Edition 。
软件包
MongoDB在他们自己的仓库中提供官方支持的包。该存储库包含以下软件包:
包裹名字 | 描述 |
---|---|
mongodb-org |
A metapackage 将自动安装下面列出的四个组件软件包。 |
mongodb-org-server |
包含mongod 守护进程和相关的配置以及init脚本。 |
mongodb-org-mongos |
包含mongos 守护进程。 |
mongodb-org-shell |
包含mongo 外壳。 |
mongodb-org-tools |
包含以下的MongoDB工具:,,, , ,,,和。mongoimport bsondump mongodump mongoexport mongofiles mongoperf mongorestore mongostat mongotop |
该mongodb-org-server
软件包提供了一个mongod
以/etc/mongod.conf
配置文件开始的初始化脚本。
有关使用此初始化脚本的详细信息,请参阅运行MongoDB Community Edition。
/etc/mongod.conf
软件包提供的默认配置文件默认bind_ip
设置为127.0.0.1
。在初始化副本集之前根据您的环境需要修改此设置 。
安装MongoDB社区版
注意
要安装不同版本的MongoDB,请参考该版本的文档。例如,参见3.4版。
本安装指南仅支持64位系统。详细信息请参见平台支持。
配置包管理系统(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)是开发版本,不适合生产使用。
安装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
设置设置为disabled
in,禁用SELinux/etc/selinux/config
。SELINUX=disabled
您必须重新启动系统才能使更改生效。
通过将设置设置为,将SELinux设置为
permissive
模式。/etc/selinux/config
SELINUX
permissive
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
目录的访问控制权限,以使该用户可以访问这些目录。
程序
启动MongoDB。
您可以mongod
通过发出以下命令来启动进程:
sudo service mongod start pm2启动的话 使用pm2 start mongo
在这里启动mongo 会出现一些问题:比方说对端口进行配置,有一个和tomcat类似的配置文件mongod.conf可以修改我们的端口,同时也要对防火墙惊醒修改
确认MongoDB已成功启动
您可以mongod
通过检查日志文件的内容以/var/log/mongodb/mongod.log
查看行数来验证过程是否已成功启动
[initandlisten] waiting for connections on port <port>
其中<port>
被配置为在该端口/etc/mongod.conf
,27017
默认情况下。
您可以选择通过发出以下命令来确保MongoDB在启动系统后启动:
sudo chkconfig mongod on
重新启动MongoDB。
您可以mongod
通过发出以下命令来重新启动进程:
sudo service mongod restart
您可以通过查看/var/log/mongodb/mongod.log
文件中的输出来跟踪错误或重要消息的进程状态。
卸载MongoDB Community
要从系统中完全删除MongoDB,您必须删除MongoDB应用程序本身,配置文件以及包含数据和日志的任何目录。以下部分将指导您完成必要的步骤。
警告
此过程将彻底删除MongoDB及其配置和所有 数据库。这个过程是不可逆的,因此请确保在继续之前备份所有配置和数据。
删除包。
删除以前安装的任何MongoDB软件包。
sudo yum erase $(rpm -qa | grep mongodb-org)
删除数据目录。
删除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的更多相关文章
- linux上安装MongoDB副本集(带keyfile安全认证以及用户权限)
搭建前准备 MongoDB版本:4.0 主要参考搭建MongoDB副本集网站:https://www.jianshu.com/p/f021f1f3c60b 安装之前最好先确定一下几点: 防火墙关闭 M ...
- Linux上安装 MongoDB ZK MEMCACHE PHP扩展
安装mongo扩展: 下载地址:https://github.com/mongodb/mongo-php-driver,下载该源码包 /usr/local/php/bin/pecl install m ...
- 在 CentOS7 上安装 MongoDB
在 CentOS7 上安装 MongoDB 1 通过 SecureCRT 连接至 CentOS7 服务器: 2 进入到 /usr/local/ 目录: cd /usr/local 3 在当前目录下创建 ...
- 在Windows上安装MongoDB
原文官方文档:https://docs.mongodb.org/v2.6/tutorial/install-mongodb-on-windows/ 基于版本:MongoDB 2.6 概览 通过这个示例 ...
- Linux平台安装MongoDB及使用Docker安装MongoDB
一.Linux平台安装MongoDB MongoDB 提供了 linux 各发行版本 64 位的安装包,你可以在官网下载安装包. 下载地址:https://www.mongodb.com/downlo ...
- (转)在 CentOS7 上安装 MongoDB
在 CentOS7 上安装 MongoDB 1 通过 SecureCRT 连接至 CentOS7 服务器: 2 进入到 /usr/local/ 目录: cd /usr/local 3 在当前目录下创建 ...
- 如何在 Ubuntu 上安装 MongoDB
MongoDB 是一个越来越流行的自由开源的 NoSQL 数据库,它将数据存储在类似 JSON 的灵活文档集中,这与 SQL 数据库中常见的表格形式形成对比. 你很可能发现在现代 Web 应用中使用 ...
- 如何在CentOS/RHEL & Fedora上安装MongoDB 3.2
MongoDB(名称取自"huMONGOus")是一个有着全面灵活的索引支持和丰富的查询的数据库.MongoDB通过GridFS提供强大的媒体存储.点击这里获取MongoDB的更多 ...
- 在Windows和Linux上安装paramiko模块以及easy_install的安装方法
一.paramiko模块有什么用? paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接.由于使用的是python这样的能够跨平台运行的语言 ...
随机推荐
- 【题解】Weird journey Codeforces 788B 欧拉路
传送门:http://codeforces.com/contest/788/problem/B 好题!好题! 首先图不连通的时候肯定答案是0,我们下面讨论图联通的情况 首先考虑,如果我们每条边都经过两 ...
- bzoj [POI2007]旅游景点atr 状态压缩+Dij
[POI2007]旅游景点atr Time Limit: 30 Sec Memory Limit: 357 MBSubmit: 2258 Solved: 595[Submit][Status][D ...
- Leetcode 234. 回文链表(进阶)
1.题目描述 请判断一个链表是否为回文链表. 示例 1: 输入: 1->2 输出: false 示例 2: 输入: 1->2->2->1 输出: true 进阶: 你能否用 O ...
- [解决] HiveServer2中使用jdbc访问hbase时导致ZooKeeper连接持续增加的解决
最近在监控中发现HiveServer2连接到zookeeper里的连接持续上涨,很奇怪,虽然知道HiveServer2支持并发连接,使用ZooKeeper来管理Hive表的读写锁,但我们的环境并不需要 ...
- LAMP环境介绍
LAMP简介: Lamp是一组常用于来搭建动态网站或者服务器的开源软件平台,Linux apache mysql perl或php. Linux :提供操作系统 Apache:Web服务器 Mysql ...
- Mybatis 使用技巧总结
9月 11, 2014 | Nix.Huang 目录: 1.区分 #{} 和 ${}的不同应用场景 2.spring环境用mybatis-spring 的接口而不是Mybatis的原生接口 3.返回M ...
- 【bzoj3476-懒惰的奶牛】线段树
题解: 感觉这题和别人的做法不一样...呵呵呵...调了一百年.. 设家坐标为(a,b),对于每个点(x,y),可以转化为|a-x|+|b-y|<=k 对于每个点,它的影响范围是一个菱形(也就是 ...
- 【转】IOS版本自定义字体步骤
本文转载自:http://quick.cocoachina.com/wiki/doku.php?id=ios%E7%89%88%E6%9C%AC%E4%BD%BF%E7%94%A8%E8%87%AA% ...
- Spring Cloud的基本认识和使用Spring Cloud的基本教程(山东数漫江湖)
认识Spring Cloud Spring Cloud简单来说就是一个微服务相关的框架,至于什么是微服务,简单来说就是一个整体项目由多个单独运行的小项目构成,每个小项目负责一个或多个功能,每个小项目有 ...
- 并查集入门--畅通工程(HDU1232)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1232 畅通工程 Time Limit: 4000/2000 MS (Java/Others) M ...