如何在Ubuntu 18.04 LTS上安装和配置MongoDB
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的更多相关文章
- Ubuntu 18.04 LTS上安装NFS服务器和客户端
NFS是基于UDP/IP协议的应用,其实现主要是采用远程过程调用RPC机制,RPC提供了一组与机器.操作系统以及低层传送协议无关的存取远程文件的操作.RPC采用了XDR的支持.XDR是一种与机器无关的 ...
- 10分钟学会在Ubuntu 18.04 LTS上安装NFS服务器和客户端
https://www.linuxidc.com/Linux/2018-11/155331.htm
- 在Ubuntu 18.04系统上安装Systemback的方法(抄)
在Ubuntu 18.04系统上安装Systemback的方法 2018-12-26 21:39:05作者:林莉稿源:云网牛站 本文介绍如何在Ubuntu 18.04或者Ubuntu 18.10系统上 ...
- Ubuntu 18.04 Linux上安装Etherpad,基于Web的实时协作编辑器
介绍 Etherpad是一个开源的,基于Web的实时协作编辑器(http://www.0834nanke.com) 它允许多个人使用他们的Web浏览器同时编辑文档. 它还提供了一些很酷的功能,如富文本 ...
- 【转】如何在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% ...
- 在Ubuntu 18.04系统上安装Pydio Cells详细图文教程
前言 基于云的协作工具Pydio cell提供了一系列灵活的特性,包括应用内消息传递.文件共享和版本控制.下面逐步介绍安装过程. Pydio cell最初是一个简单的基于云的文件共享系统,但经过升 ...
- Ubuntu 18.04 Server上安装LAMP
由于要进行渗透测试,所以这两天就在搭LAMP的环境(过程及其痛苦) 这里分享一些我遇到的问题. 首先介绍一下我的使用环境 VM虚拟机,ubuntu 与主机NAT连接 由于之前一直使用的是kali(默 ...
- 在 Ubuntu 16.04 LTS 上安装 Python 3.6.0
原文连接:https://segmentfault.com/a/1190000007912666 最近 Python 3 发布了新版本 Python 3.6.0,好像又加入了不少黑魔法!- 由于暂时不 ...
- 在 Ubuntu 18.04 /centos7上安装 Python 3.7
扩展源安装 sudo apt update sudo apt install software-properties-common sudo add-apt-repository ppa:deadsn ...
随机推荐
- 用python构建一个多维维数组
用python构建一个二维数组 解法? 方法1: num_list=[0]*x//表示位创建一个一维数组为num_lis[x],且数组中的每一项都为0 num_list=[[0]*x for i in ...
- 小白文-SpringMVC-解读DispatcherServlet源码
SpringMVC 学习完Spring框架技术之后,差不多会出现两批人: 一批是听得云里雾里,依然不明白这个东西是干嘛的: 还有一批就是差不多理解了核心思想,但是不知道这些东西该如何去发挥它的作用. ...
- random_sample() takes at most 1 positional argument (2 given)
是random模块下的sample函数,而不是np.random.
- python面试_总结03_列表练习题
1.列表练习题 完成下列列表相关的编程题,先运行下列的test函数,在完成每道题之后,都可以通过调用test函数检测所写函数对错. def test(got, expected): if got == ...
- SQL从零到迅速精通【规则和约束】
1.[创建规则] 为stu_info表定义一个规则,指定其成绩列的值必须大于0,小于100,输入语句如下. USE test_db; GO CREATE RULE rule_score AS @sco ...
- 记一次CentOS根目录空间占满的解决方案
问题背景是这样的,根目录初始大小是50G,我把mysql和docker都装在根目录底下了. 随着时间推移,mysql大小达到了27个G,docker则是22个G 根目录空间不够用了,上图: 图 1-1 ...
- ACL流策略
QoS实现工具之MQC-qos设置 作者:上犹日期:2019-10-23 11:30:36 返回目录:设置问题 QoS技术可以对网络中报文进行分类处理,根据优先级提供不同的差分服务,如何实现这种差分服 ...
- 通过IMM With Remote Console为服务器安装操作系统
现有IBM System x3750 M4(8722A1C)配置 产品类别 机架式 产品结构 2U CPU类型 Intel 至强E5-4600 CPU型号 Xeon E5-4640 CPU频率 2 ...
- LGP4463题解
这玩意儿怎么看上去就很经典啊( 哦互不相同啊,那没事了( 考虑一个 \(\rm DP\).由于限制了互不相同,那么我们考虑从值域开始想. 设 \(dp_{n,k}\) 为在 \([1,n]\) 中选了 ...
- c++ set与unordered set的区别
c++ std中set与unordered_set区别和map与unordered_map区别类似,其底层的数据结构说明如下: 1.set基于红黑树实现,红黑树具有自动排序的功能,因此map内部所有的 ...