如何在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 ...
随机推荐
- SqlServer 局域网内不能连接对方数据库?
一直都是连接的远程测试服务器的数据库,今天想把自己的数据库开放出来让公司同事连接,竟然连接失败!转了很大一个圈终于搞定了. 接下来就把这次心历路程发出来,希望能帮助到有需要的博友. PS: 我和同事的 ...
- 2020ICPC上海站 C. Sum of Log
题目大意: 给定T组X,Y,对于每组X,Y,求上面式子 的值,其中 当x为真时等于1,其他情况等于0. 其中. 思路: 对X,Y一起进行数位DP,我们把每一位枚举数字的上限以及数字之前是否有前导 ...
- 进程&线程(一)——multiprocessing,threading
本节内容为①进程线程的基础知识:②在Python的实现方法: 学习总结自: 一文看懂Python多进程与多线程编程(工作学习面试必读) - 知乎 multiprocessing 官方文档 1.进程线程 ...
- Docker安装与基本命令使用
1. 卸载旧版本 Docker在CentOS上的安装 官方文档:https://docs.docker.com/engine/install/centos/ sudo yum remove docke ...
- vue项目启动报错 spawn cmd ENOENT errno: -4058
vue项目启动报错 spawn cmd ENOENT errno: -4058 运行vue项目(npm run dev)报错 提示 'npm' 不是内部或外部命令 cmd输入node -v 有版本号 ...
- Block对变量的引用
如果在 Block 内部使用外部的变量,Block 会持有这个变量.下面来看几中特殊的情况,看 Block 对变量的持有情况如何. typeof @interface X : NSObject @pr ...
- 『现学现忘』Docker基础 — 27、Docker镜像的commit操作
目录 1.commit命令作用 2.commit命令说明 3.示例演示 1.commit命令作用 在运行的容器中,并在镜像的基础上做了一些修改,我们希望保存起来,封装成一个新的镜像,方便我们以后使用, ...
- kdump原理,是如何找到入口的
请解释下kdump原理,捕获内核是如何获取到生产内核的首地址的.
- 题解0007:小木棍(P1120)
(错误记录) 题目链接:https://www.luogu.com.cn/problem/P1120 题目描述:几根同样长的木棍,小冥把它们随意砍成了n段: 然后他又吃饱了撑的想把木棍拼上: 但是这个 ...
- 【Python 第0课】Why Python?
为什么用Python作为编程入门语言? 原因很简单. 嗯...原因就是,很简单... 每种语言都会有它的支持者和反对者.去Google一下"why python"(程序员准则:要G ...