由于工作需要在本地安装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