MongoDB是一款非关系型数据库,提供高性能,高可用性和自动扩展企业数据库。 MongoDB是一个非关系型数据库,因此您不能使用SQL(结构化查询语言)插入和检索数据,也不会将数据存储在MySQL或Postgres等表中。 数据以JSON格式存储在“文档”结构中(在MongoDB中称为BSON)。 MongoDB于2009年首次推出,目前由MongoDB公司开发。

MongoDB只提供64位LTS(长期支持)Ubuntu版本的软件包。 例如,14.04 LTS(可信),16.04 LTS(x)),18.04 LTS(bionic)等。

在本教程中,我将在Ubuntu 18.04 LTS上安装MongoDB 3.6。

先决条件

  • Ubuntu服务器18.04 – 64位
  • Root权限

我们将在本教程中做什么:

  • 安装MongoDB
  • 配置MongoDB
  • 结论

在Ubuntu 18.04上安装MongoDB

第1步 – 导入公钥

Ubuntu软件包管理器apt(高级软件包工具)需要软件分销商的GPG密钥来确保软件包的一致性和真实性。 运行此命令将MongoDB密钥导入到您的服务器。

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5

第2步 – 创建源列表文件MongoDB

使用以下命令在/etc/apt/sources.list.d/中创建一个MongoDB列表文件:

echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list

MongoDB尚未发布Bionic Beaver软件包,但Xenial软件包在Ubuntu 18.04 LTS上运行良好。 尽管在执行上述命令之前,您可能会检查URL http://repo.mongodb.org/apt/ubuntu/dists/。 如果您在该网页上看到一个目录“bionic”,则将上述命令中的单词“xenial”替换为“bionic”一词。

第3步 – 更新存储库

使用apt命令更新存储库:

sudo apt-get update

第4步 – 安装MongoDB

现在你可以输入以下命令来安装MongoDB:

sudo apt-get install -y mongodb-org

MongoDB apt安装程序自动为Systemd创建了一个mongod.service文件,因此不需要再手动创建它。

启动MongoDB并将其添加为在启动时启动的服务:

systemctl start mongod
systemctl enable mongod

现在用netstat命令检查MongoDB是否已经在端口27017上启动。

netstat -plntu

配置MongoDB用户名和密码

安装MongoDB软件包时,您可以为数据库服务器配置用户名和密码:

第1步 – 打开mongo shell

在为MongoDB设置用户名和密码之前,您需要在服务器上打开MongoDB shell。 输入以下内容即可登录:

mongo

如果出现错误全局初始化失败:BadValue无效或无用户区域设置。 请确保LANG和/或LC_ *环境变量设置正确,请尝试命令:

export LC_ALL=C
mongo

第2步 – 切换到数据库管理员

一旦进入MongoDB shell,切换到名为admin的数据库:

use admin

第3步 – 创建root用户

使用此命令创建root用户:

db.createUser({user:"admin", pwd:"admin123", roles:[{role:"root", db:"admin"}]})

描述:使用密码admin123创建用户管理员,并将权限/角色作为root用户,数据库为admin。

现在输入exit退出MongoDB shell。

第4步 – 启用mongodb身份验证

用您的编辑器编辑mongodb服务文件’/lib/systemd/system/mongod.service’。

nano /lib/systemd/system/mongod.service

在’ExecStart’第9行中,添加新选项’–auth’。

ExecStart=/usr/bin/mongod –auth –config /etc/mongod.conf

保存该服务文件并退出nano。

重新加载systemd服务:

systemctl daemon-reload

第5步 – 重新启动MongoDB并尝试连接

现在重新启动MongoDB并连接创建的用户。

sudo service mongod restart

并使用以下命令连接到MongoDB shell:

mongo -u admin -p admin123 --authenticationDatabase admin

你会看到这样的输出:

虚拟机映像

本教程适用于Howtoforge用户可以使用OVA / OVF格式的虚拟机。 VM格式与VMWare和Virtualbox以及其他可以导入ova或ovf格式的工具兼容。您可以在顶部的右侧菜单中找到下载链接。点击文件名开始下载。

The login details of the VM are:

SSH登录

用户名:administrator
密码:howtoforge

管理员用户具有sudo权限。

第一次启动后请更改密码。

VM配置为静态IP 192.168.1.100。有关如何更改静态IP的说明可以在此处找到。

结论

一个着名的NoSQL数据库,提供高性能,高可用性和自动扩展是MongoDB。它不同于RDBMS,如MySQL,PostgreSQL和SQLite,因为它不使用SQL来设置和检索数据。 MongoDB将数据存储在名为BSON的文档中(JSON的二进制表示以及其他类型的信息)。 MongoDB仅适用于64位长期支持Ubuntu版本。

更多MongoDB相关教程见以下内容

在 Azure 虚拟机上快速搭建 MongoDB 集群  http://www.linuxidc.com/Linux/2017-09/146778.htm

MongoDB复制集原理  http://www.linuxidc.com/Linux/2017-09/146670.htm

MongoDB 3.4 远程连接认证失败  http://www.linuxidc.com/Linux/2017-06/145070.htm

Ubuntu 16.04中安装MongoDB3.4数据库系统  http://www.linuxidc.com/Linux/2017-07/145526.htm

MongoDB权威指南第2版PDF完整带书签目录 下载见 http://www.linuxidc.com/Linux/2016-12/138253.htm

MongoDB 的详细介绍请点这里
MongoDB 的下载地址请点这里

本文永久更新链接地址https://www.linuxidc.com/Linux/2018-05/152253.htm

如何在Ubuntu 18.04 LTS上安装和配置MongoDB的更多相关文章

  1. Ubuntu 18.04 LTS上安装NFS服务器和客户端

    NFS是基于UDP/IP协议的应用,其实现主要是采用远程过程调用RPC机制,RPC提供了一组与机器.操作系统以及低层传送协议无关的存取远程文件的操作.RPC采用了XDR的支持.XDR是一种与机器无关的 ...

  2. 10分钟学会在Ubuntu 18.04 LTS上安装NFS服务器和客户端

    https://www.linuxidc.com/Linux/2018-11/155331.htm

  3. 在Ubuntu 18.04系统上安装Systemback的方法(抄)

    在Ubuntu 18.04系统上安装Systemback的方法 2018-12-26 21:39:05作者:林莉稿源:云网牛站 本文介绍如何在Ubuntu 18.04或者Ubuntu 18.10系统上 ...

  4. Ubuntu 18.04 Linux上安装Etherpad,基于Web的实时协作编辑器

    介绍 Etherpad是一个开源的,基于Web的实时协作编辑器(http://www.0834nanke.com) 它允许多个人使用他们的Web浏览器同时编辑文档. 它还提供了一些很酷的功能,如富文本 ...

  5. 【转】如何在Ubuntu 14.04 LTS上设置Nginx虚拟主机

    介绍 转自http://www.pandacademy.com/%E5%A6%82%E4%BD%95%E5%9C%A8ubuntu-14-04-lts%E4%B8%8A%E8%AE%BE%E7%BD% ...

  6. 在Ubuntu 18.04系统上安装Pydio Cells详细图文教程

    前言   基于云的协作工具Pydio cell提供了一系列灵活的特性,包括应用内消息传递.文件共享和版本控制.下面逐步介绍安装过程. Pydio cell最初是一个简单的基于云的文件共享系统,但经过升 ...

  7. Ubuntu 18.04 Server上安装LAMP

    由于要进行渗透测试,所以这两天就在搭LAMP的环境(过程及其痛苦) 这里分享一些我遇到的问题. 首先介绍一下我的使用环境  VM虚拟机,ubuntu 与主机NAT连接 由于之前一直使用的是kali(默 ...

  8. 在 Ubuntu 16.04 LTS 上安装 Python 3.6.0

    原文连接:https://segmentfault.com/a/1190000007912666 最近 Python 3 发布了新版本 Python 3.6.0,好像又加入了不少黑魔法!- 由于暂时不 ...

  9. 在 Ubuntu 18.04 /centos7上安装 Python 3.7

    扩展源安装 sudo apt update sudo apt install software-properties-common sudo add-apt-repository ppa:deadsn ...

随机推荐

  1. weblogic 升级bsu_Weblogic补丁升级之坑坑洼洼

    转至:https://blog.csdn.net/weixin_30682635/article/details/111911952 [概述] 虽然当前国内去IOE波涛汹涌,但不可否认OracleWe ...

  2. Pycharm:设置完Anaconda后报错TypeError: an integer is required (got type bytes)

    背景:安装了最新版本的Anaconda3.9后,在Pycharm中设置Python Interpreter为这个最新版本Anaconda文件下的python.exe后,控制台无法启动并报错TypeEr ...

  3. Python:list和ndarray的互相转化

    a=np.arange(9).reshape(3,3) #a是一个3*3的array #array -> list l=a.tolist() [[0, 1, 2], [3, 4, 5], [6, ...

  4. LeetCode-056-合并区间

    合并区间 题目描述:以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] .请你合并所有重叠的区间,并返回一个不重叠的区间数组, ...

  5. 矩池云上nvidia opencl安装及测试教程

    本教程租用的是2080ti,3.7多框架镜像. 添加nvidia-cuda的阿里源 curl -fsSL https://mirrors.aliyun.com/nvidia-cuda/ubuntu18 ...

  6. laravel报错 : No application encryption key has been specified.

    创建了新的laravel项目后, 运行提示:No application encryption key has been specified 解决方法: 这个是由于没有配置好 APP_KEY 在终端上 ...

  7. LGP3311题解

    为什么我和同学对比了一下,发现我和他的做法差别很大啊 对于这种问题,我们把整个字符串分为两个部分:前缀顶着最高位和后缀没有顶着最高位. 我们枚举这个前缀,然后后缀通过 DP 来搞定. 不包含任何一个子 ...

  8. 翻译 | Kubernetes 将改变数据库的管理方式

    作者:Álvaro Hernández 当技术决策人考虑在 Kubernetes 上部署数据库时,面临的第一个问题就是:"Kubernetes 有应对有状态服务的能力吗?"多年来的 ...

  9. SQL注入及防止SQL注入

    •SQL注入 SQL注入是通过操作输入来修改事先定义好的SQL语句,对用户输入的字符串进行过滤,转义,限制或处理不严谨,导致用户可以通过输入精心构造的字符串去非法获取到数据库中的数据,以达到执行代码对 ...

  10. SQL语句优化、mysql不走索引的原因、数据库索引的设计原则

    SQL语句优化 1 企业SQL优化思路 1.把一个大的不使用索引的SQL语句按照功能进行拆分 2.长的SQL语句无法使用索引,能不能变成2条短的SQL语句让它分别使用上索引. 3.对SQL语句功能的拆 ...