如何在Arch Linux上安装MongoDB 4.0

技术教程 不思进取 2年前 (2020-02-06) 833次浏览 0个评论 扫描二维码

安装 MongoDB 4.0 数据库

  1. 从源编译。使用 AUR 软件包mongodb,也可以使用mongodb-tools‘。请注意,这大约需要 180GB,这是一个很长的编译过程。使用 4 核,大约需要 7 个小时。这是推荐的方法,因为它使用 Arch 的编译标志。
  2. 使用 MongoDB 的预构建二进制文件。使用 AUR 软件包mongodb-bin并可能使用mongodb-tools-bin。这将跳过整个编译阶段,从 mongodb.org 下载预构建的二进制文件,并将其与必要的配置文件打包在一起。

安装软件包后,启动 MongoDB,并使其在每次启动后启动。在第一次启动期间,它将为日志和其他数据预分配文件,这可能需要一段时间才能完成数据库的建立:

# systemctl enable --now mongodb

测试连接

连接到 MongoDB:

$ mongo

退出:

> exit

防火墙注意事项

尽管配置防火墙始终是一个好主意,但是默认情况下,MongoDB 默认仅侦听27017localhost 上的端口,因此它将不接收外部流量。

需要认证

默认情况下,MongoDB 允许任何人无需任何身份验证即可连接到它,这显然存在安全风险。

创建一个根数据库用户:

$ mongo
> use admin
> db.createUser(
... {
... user: "root",
... pwd: "YOUR-NEW-PASSWORD",
... roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
... }
... )
> exit

编辑/etc/mongodb.conf,如果使用包mongodb添加:

security:
  authorization: "enabled"

如果使用软件包mongodb-bin添加:

auth = true

重新启动 MongoDB:

# systemctl restart mongodb

现在,尽管您仍然可以在不进行身份验证的情况下连接到 MongoDB,但没有它,它将无法执行任何操作:

$ mongodb
> db.getUsers()
... Error: command usersInfo requires authentication :

以 root 身份连接到 MongoDB:

$ mongodb -u root

或者,连接到 MongoDB,然后在其中进行身份验证:

$ mongodb
> use admin
> db.auth("root", "<YOUR-DATABASE-ROOT-PASSWORD>")

重要提示:升级

由于 MongoDB 现在是 AUR 的一部分,因此pacman在升级整个 Arch 系统时,不会自动编译并将其升级到新版本。您将需要手动重新编译新版本并安装新软件包。在这样做之前,请务必先查看 MongoDB 的发行说明,以了解是否需要采取任何其他步骤。同样,在升级之前备份数据库也是个好主意。


不思进取 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:如何在Arch Linux上安装MongoDB 4.0
喜欢 (1)
[]
分享 (0)

您必须 登录 才能发表评论!