如何在Ubuntu上安装MongoDB数据库系统?

MongoDB的

在此博客中,我们讨论了一些数据库系统,其中最受欢迎的是MariaDB和MySQL,因为它们是Xampp或Lampp中通常包含的系统。 这次我们要谈的是 另一个系统是 MongoDB的。

MongoDB是 面向开源文档的NoSQL数据库系统, 这是 专为实现高性能数据持久性而设计的现代文档数据库管理系统, 基于NoSQL技术的高可用性以及自动扩展。

MongoDB不会像在关系数据库中那样将数据保存在表中,而是将数据结构保存在文档中,这是一种由字段和值对组成的数据结构(MongoDB文档可与JSON对象媲美)。

由于它具有高性能和出色的可伸缩性,因此被用于构建需要功能强大,关键任务和高可用性数据库的现代应用程序。

在Ubuntu上安装MongoDB

要在我们的系统上安装此数据库系统, 我们只需要打开一个终端并在其中执行以下命令即可:

sudo apt install mongodb

安装完成, MongoDB服务将通过systemd自动启动 并且该过程将在端口27017上运行。您可以使用以下命令检查其状态:

sudo systemctl status mongodb

如果没有,我们可以使用以下命令强制启动:

sudo systemctl start mongodb

启用与MongoDB的远程连接

蒙哥 DB 1

默认情况下,MongoDB数据库系统使用端口27017,我们必须打开该端口 为了接受远程连接,我们仅使用以下命令启用它。

sudo ufw allow 27017

默认情况下,只能从本地地址27017访问端口127.0.0.1。 要允许远程连接到MongoDB,必须在文件中添加服务器的IP地址。 /etc/mongodb.conf

只需使用以下命令进行编辑:

sudo nano

我们可以看到类似以下内容:

bind_ip = 127.0.0.1, your_server_ip

#port = 27,017

我们使用服务器中的数据进行编辑。

允许从任何地方访问MongoDB,它提供了对数据库中数据的无限制访问。 因此,最好允许访问MongoDB端口的特定于位置的默认IP地址。

sudo ufw allow from your_server_IP/32 to any port 27017

sudo ufw status

完成此操作后,足以重新启动服务,以便在开始时加载新更改,我们可以这样操作:

sudo systemctl restart mongodb

在MongoDB中使用密码创建用户

默认情况下,数据库具有非常简单的访问权限,因此,为了加强这一点,我们可以使用密码创建用户。

MongoDB使用SCRAM身份验证机制 默认。 在系统上使用SCRAM可以根据用户名,密码和身份验证数据库来验证提供的用户凭据。

只需使用以下命令启动数据库控制台:

Mongo

我们可以使用以下方法列出现有数据库:

show dbs

我们可以创建一个允许我们管理用户和功能的用户 例如创建用户,授予或撤消用户角色,以及创建或修改海关角色。

只需输入

use admin

然后使用以下命令创建用户,我们以我们认为适当的访问凭据替换用户“ root”的名称和密码“ password”。

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

完成此操作后,我们必须启用身份验证方法 为此,我们将编辑以下文件:

sudo nano /lib/systemd/system/mongodb.service

我们将寻找下一行:

ExecStart=/usr/bin/mongod --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS

编辑,使其如下所示:

ExecStart=/usr/bin/mongod --auth --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS

现在 我们只是在数据库中重启

systemctl daemon-reload

sudo systemctl restart mongodb

sudo systemctl status mongodb              

Y 我们使用以下方法测试身份验证方法:

mongo -u "usuario" -p --authenticationDatabase "contraseña"

发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   可检测的

    帮我解决这个错误。

    2021-03-24T21:33:16.233 + 0000 E查询[thread1]错误:listDatabases失败:{
    «确定»:0,
    “ Errmsg”:“未经管理员授权执行命令{listDatabases:1.0,$ db:\” admin \“}”,
    “代码”:13
    “ CodeName”:“未经授权”
    }:
    _getErrorWithCode@src/mongo/shell/utils.js:25:13
    Mongo.prototype.getDBs@src/mongo/shell/mongo.js:65:1
    shellHelper.show@src/mongo/shell/utils.js:816:19
    shellHelper@src/mongo/shell/utils.js:706:15
    @(shellhelp2):1:1