MongoDB 是一个越来越流行的自由开源的 NoSQL 数据库,它将数据存储在类似 JSON 的灵活文档集中,这与 SQL 数据库中常见的表格形式形成对比。

你很可能发现在现代 Web 应用中使用 MongoDB。它的文档模型使得使用各种编程语言能非常直观地访问和处理它。

 
mongodb Ubuntu

在本文中,我将介绍两种在 Ubuntu 上安装 MongoDB 的方法。

在基于 Ubuntu 的发行版上安装 MongoDB

使用 Ubuntu 仓库安装 MongoDB。简单但不是最新版本的 MongoDB

使用其官方仓库安装 MongoDB。稍微复杂,但你能得到最新版本的 MongoDB。

第一种安装方法更容易,但如果你计划使用官方支持的最新版本,那么我建议使用第二种方法。

有些人可能更喜欢使用 snap 包。Ubuntu 软件中心提供了 snap,但我不建议使用它们,因为他们现在已经过期了,因此我这里不会提到。

方法 1:从 Ubuntu 仓库安装 MongoDB

这是在系统中安装 MongoDB 的简便方法,你只需输入一个命令即可。

安装 MongoDB

首先,确保你的包是最新的。打开终端并输入:

sudo apt update && sudo apt upgrade -y

继续安装 MongoDB:

sudo apt install mongodb

这就完成了!MongoDB 现在安装到你的计算机上了。

MongoDB 服务应该在安装时自动启动,但要检查服务状态:

sudo systemctl status mongodb

 
Check if the MongoDB service is running.

你可以看到该服务是活动的。

运行 MongoDB

MongoDB 目前是一个 systemd 服务,因此我们使用 systemctl 来检查和修改它的状态,使用以下命令:

sudo systemctl status mongodb

sudo systemctl stop mongodb

sudo systemctl start mongodb

sudo systemctl restart mongodb

你也可以修改 MongoDB 是否自动随系统启动(默认:启用):

sudo systemctl disable mongodb

sudo systemctl enable mongodb

要开始使用(创建和编辑)数据库,请输入:

mongo

这将启动 mongo shell。有关查询和选项的详细信息,请查看手册

注意:根据你计划使用 MongoDB 的方式,你可能需要调整防火墙。不过这超出了本篇的内容,并且取决于你的配置。

卸载 MongoDB

如果你从 Ubuntu 仓库安装 MongoDB 并想要卸载它(可能要使用官方支持的方式安装),请输入:

sudo systemctl stop mongodb

sudo apt purge mongodb

sudo apt autoremove

这应该会完全卸载 MongoDB。确保备份你可能想要保留的任何集合或文档,因为它们将被删除!

方法 2:在 Ubuntu 上安装 MongoDB 社区版

这是推荐的安装 MongoDB 的方法,它使用包管理器。你需要多打几条命令,对于 Linux 新手而言,这可能会感到害怕。

但没有什么可怕的!我们将一步步说明安装过程。

安装 MongoDB

由 MongoDB Inc. 维护的包称为 mongodb-org,而不是 mongodb(这是 Ubuntu 仓库中包的名称)。在开始之前,请确保系统上未安装 mongodb。因为包之间会发生冲突。让我们开始吧!

首先,我们必须导入公钥:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4

现在,你需要在源列表中添加一个新的仓库,以便你可以安装 MongoDB 社区版并获得自动更新:

echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list

要安装 mongodb-org,我们需要更新我们的包数据库,以便系统知道可用的新包:

sudo apt update

现在你可以安装最新稳定版的 MongoDB:

sudo apt install -y mongodb-org

或者某个特定版本(在 = 后面修改版本号)

sudo apt install -y mongodb-org=4.0.6 mongodb-org-server=4.0.6 mongodb-org-shell=4.0.6 mongodb-org-mongos=4.0.6 mongodb-org-tools=4.0.6

如果你选择安装特定版本,请确保在所有位置都修改了版本号。如果你修改了 mongodb-org=4.0.6,你将安装最新版本。

默认情况下,使用包管理器(apt-get)更新时,MongoDB 将更新为最新的版本。要阻止这种情况发生(并冻结为已安装的版本),请使用:

echo "mongodb-org hold" | sudo dpkg --set-selections

echo "mongodb-org-server hold" | sudo dpkg --set-selections

echo "mongodb-org-shell hold" | sudo dpkg --set-selections

echo "mongodb-org-mongos hold" | sudo dpkg --set-selections

echo "mongodb-org-tools hold" | sudo dpkg --set-selections

你现在已经成功安装了 MongoDB!

配置 MongoDB

默认情况下,包管理器将创建 /var/lib/mongodb 和 /var/log/mongodb,MongoDB 将使用 mongodb 用户帐户运行。

我不会去更改这些默认设置,因为这超出了本指南的范围。有关详细信息,请查看手册

/etc/mongod.conf 中的设置在启动/重新启动 mongodb 服务实例时生效。

运行 MongoDB

要启动 mongodb 的守护进程 mongod,请输入:

sudo service mongod start

现在你应该验证 mongod 进程是否已成功启动。此信息(默认情况下)保存在 /var/log/mongodb/mongod.log 中。我们来看看文件的内容:

sudo cat /var/log/mongodb/mongod.log

 
Check MongoDB logs to see if the process is running properly.

只要你在某处看到:[initandlisten] waiting for connections on port 27017,就说明进程正常运行。

注意:27017 是 mongod 的默认端口。

要停止/重启 mongod,请输入:

sudo service mongod stop

sudo service mongod restart

现在,你可以通过打开 mongo shell 来使用 MongoDB:

mongo

卸载 MongoDB

运行以下命令:

sudo service mongod stop

sudo apt purge mongodb-org*

要删除数据库和日志文件(确保备份你要保留的内容!):

sudo rm -r /var/log/mongodb

sudo rm -r /var/lib/mongodb

总结

MongoDB 是一个很棒的 NoSQL 数据库,它易于集成到现代项目中。我希望本教程能帮助你在 Ubuntu 上安装它!在下面的评论中告诉我们你计划如何使用 MongoDB。

如何在 Ubuntu 上安装 MongoDB的更多相关文章

  1. Ubuntu上安装MongoDB(译)

    add by zhj:直接从第四步开始就可以了,而且安装好MongoDB后会自动启动的,不必自己去执行启动命令 原文:https://docs.mongodb.com/manual/tutorial/ ...

  2. 在 Ubuntu 上安装 MongoDB

    在 Ubuntu 上安装 MongoDB 运行下列命令,导入 MongoDB 公开 GPG 键: sudo apt-key adv --keyserver hkp://keyserver.ubuntu ...

  3. [译]How to Setup Sync Gateway on Ubuntu如何在ubuntu上安装sync-gateway

    参考文章https://hidekiitakura.com/2015/03/21/how-to-setup-sync-gateway-on-ubuntudigitalocean/ 在此对作者表示感谢 ...

  4. 【转载】如何在Ubuntu上安装LAMP服务器系统?

    转载自:http://os.51cto.com/art/201307/405333.htm [2013年7月25日 51CTO外电头条]为何应该在Ubuntu上安装LAMP服务器?从事Web开发工作时 ...

  5. [转载]如何在Ubuntu上安装LAMP服务器系统

    [2013年7月25日 51CTO外电头条]为何应该在Ubuntu上安装LAMP服务器?从事Web开发工作时,我更偏爱在不受干扰的情况下,在我那台计算机上的开发环境下进行开发.我宁愿所犯的错误大部分是 ...

  6. 如何在Ubuntu上安装LAMP服务器系统?

    在Ubuntu上安装LAMP Ubuntu的开发人员让人们很容易安装和配置LAMP软件包,只要借助一个终端命令.所以,打开终端窗口,让我们开始入手吧. sudo apt-get install lam ...

  7. ZH奶酪:如何在Ubuntu上安装Java/管理多个JAVA/设置JAVA_HOME

    0.简介 Java的地位及重要性,大家都懂的,很多软件都依赖于jdk,在Ubuntu上安装Java的选择有很多,openJDK,Oracle Jdk... 1.安装默认 JRE/JDK(可选) 这是最 ...

  8. 【Ubuntu QQ】记如何在Ubuntu上安装QQ(附下载)

    什么困扰着一批批的ubuntu桌面用户?是麻花藤.哦不,是QQ,怎么在ubuntu上安装完美无瑕的QQ. 最佳解决方案在“三”部分,当然前两个也不失为解决方案 一.尝试的开始 配置: 双系统:Wind ...

  9. 如何在 Ubuntu 上安装 pip

    1.为 Python 2 安装 pip 首先,确保已经安装了 Python 2. 在 Ubuntu 上,可以使用以下命令进行验证 python2 --version 如果没有错误并且显示了 Pytho ...

随机推荐

  1. centos yum 安装 mariadb

    1. 在 /etc/yum.repos.d/ 下建立 MariaDB.repo,输入内容 [mariadb] name=MariaDB baseurl=http://yum.mariadb.org/1 ...

  2. Ubuntu 18.04 LTS版本 GoldenDict安装与配置

    为何安装? GoldenDict是一款Linux下很好用的词典软件,其具有的关于词典的裁剪功能使得用户能够方便地对各种词典进行添加或删除,其具有的屏幕取词功能能够帮助用户方便地进行翻译,其具有的网络源 ...

  3. 从零开始实现ASP.NET Core MVC的插件式开发(四) - 插件安装

    标题:从零开始实现ASP.NET Core MVC的插件式开发(四) - 插件安装 作者:Lamond Lu 地址:https://www.cnblogs.com/lwqlun/p/11260750. ...

  4. 常用Feed流架构实现

    业务中很多需求都会用到类似feed流的架构. 例如 微信朋友圈 微博 动态 1对N消息. 一般feed流的架构实现有下面几种. 假如现在的业务场景是微博,然后当前的数据情况是: 用户A关注了用户B和C ...

  5. sql server中的cte

    从SQL Server 2005开始,提供了CTE(Common Table Expression,公用表表达式)的语法支持. CTE是定义在SELECT.INSERT.UPDATE或DELETE语句 ...

  6. pycharm编辑器简单配置-- 持续更新完善

    目录 python解释器安装.多版本共存等 给pycharm编辑器选择python解释器版本 配置pip仓库地址 方式一:直接修改文件配置 方式二:pycharm配置 方式三:通过临时指定pip仓库地 ...

  7. Mysql主从复制原理及搭建

    ## Mysql主从复制原理 主从复制是指一台服务器充当主数据库服务器,另一台或多台服务器充当从数据库服务器,主服务器中的数据自动复制到从服务器之中.对于多级复制,数据库服务器即可充当主机,也可充当从 ...

  8. 关于GIS中Scale和Resolution的那些事儿

    在ArcMap或各类前端地图框架(Leaflet.js.OpenLayers.js.ArcGIS Javascript等)中都需要加载WMTS或ArcGIS Rest服务,但所有的地图显示的原理基本上 ...

  9. 图解一致性hash算法和实现

    更多内容,欢迎关注微信公众号:全菜工程师小辉.公众号回复关键词,领取免费学习资料. 一致性hash算法是什么? 一致性hash算法,是麻省理工学院1997年提出的一种算法,目前主要应用于分布式缓存当中 ...

  10. PHP识别简单的图片上面的数字(可扩展)

    1.场景 最近在学习图片处理,就是特意把数字生成一个图片,然后再用程序去识别图片的数字.这就有了一下的学习过程. 2.原理分析 2.1 首先是将图片像素化,二值化,然后和字模去对比(需要相对于配置字模 ...