如何在arch linux系统中安装MongoDB

由于工作需要在本地安装mongodb用作调试,在安装过程中遇到了问题,记录一下。

首先看看安装成功的mongodb吧:

[zhi@zhi-pc bin]$ mongod --version
db version v4.0.9
git version: fc525e2d9b0e4bceff5c2201457e564362909765
allocator: tcmalloc
modules: none
build environment:
    distarch: x86_64
    target_arch: x86_64

安装

我的系统是Manjaro,基于archlinux的系统。由于MongoDB修改了软件授权协议,所以在archlinux的官方源中已经删除了MongoDB,在archlinux的wiki中建议安装AUR中的mongodb-bin,或者自己编译(需要180G的空余的磁盘空间)。脑阔疼,我没有配置AUR的源,自己编译的话,我这老爷机谁知道要编译多久,所以最后我选择了使用MongoDB官网提供的软件包。

下面是安装过程:

  • 下载:在官网下载,我下载的是4.0.9的版本。

  • 解压:将下载的压缩包解压到你需要安装的位置。我解压在了/home/zhi/tools中,由于加压的文件夹带有版本号mongodb-linux-x86_64-4.0.9,为了方便我重命名为了mongodb

    $ pwd
    # /home/zhi/tools
    $ ls
    # mongodb  mongodb-linux-x86_64-4.0.9.tgz
    
  • 将下面的代码加入到系统环境变量.bashrc末尾,然后执行source ~/.bashrc让它生效:

    # 将对应的路径改为你解压的路径
    export PATH=$PATH:/home/zhi/tools/mongodb/bin
    
  • 此时执行mongod是不能正常启动的,查看控制台输出

    2019-05-15T12:59:30.324+0800 I STORAGE  [initandlisten] exception in initAndListen: NonExistentPath: Data directory /data/db not found., terminating
    

    发现是因为默认的数据目录是不存在的,默认位置为/data。可以选择新建/data目录,然后启动,或者自定义data的位置,启动mongod的时候指定data路径。

    # 使用默认位置,可能需要管理员权限去新建,然后记得修改目录权限
    mkdir /data
    mongod # 启动
    # 与下面的二选一就好了
    # 或者自定义data的位置
    mkdir /home/zhi/tools/mongodb/data
    mongod --dbpath /home/zhi/tools/mongodb/data # 指定dbpath的启动
    

当然也可以选择配置AUR源来安装,但是我懒得配置,而且自己一般也不会用到AUR,所以就只介绍这一种方法了。

启动的话可以选择使用下面的命令来后台执行

nohup mongod --dbpath /home/zhi/tools/mongodb/data &

本文最先发布于:SavingUnhappy

推荐阅读更多精彩内容