Manjaro下使用MongoDB

0.前言

由于 MongoDB 修改了软件授权协议,官方软件仓库已经删除了此软件包,需要的用户可以选择安装 mongodb 或 mongodb-bin 软件包。请注意从代码编译 mongodb 需要 ~160GB 磁盘空间,需要花费几个小时时间。
自己编译安装实在是伤不起,还好有旧版本3.4的可用,小伙伴们凑合凑合得了.

1.安装MongoDB

$ yay -S mongodb
:: There are 6 providers available for mongodb:
:: Repository AUR
    1) mongodb 2) mongodb-3.4 3) mongodb-bin 4) mongodb-bin-3.6 5) mongodb-shell-bin 6) mongodb34-bin 

Enter a number (default=1): 6

2.修改默认数据存储路径

MongoDB的配置文件路径为\etc\mongodb.conf.
里面的内容如下:

# See http://www.mongodb.org/display/DOCS/File+Based+Configuration for format details
# Run mongod --help to see a list of options

bind_ip = 127.0.0.1
quiet = true
dbpath = /var/lib/mongodb
logpath = /var/log/mongodb/mongod.log
logappend = true

其中我们需要修改dbpath为想要保存的路径,如修改为:

dbpath = /data/database/mongodb

注意

1. 这里我是新划分了一个分区,并挂载到/data路径.

我曾经也试过将其直接挂载到~目录下面的子目录下,结果报了Unable to determine status of lock file in the data directory的错误,在网上查资料搜索得到的结果可能是因为路径文件的权限问题,但是也没有解决,所以这次没有将目录设置在home目录下,而是在/data路径下新建database子目录.
所以我的建议是不要将数据存储路径设置在home目录下.

2. 如果之前有保存数据,则需要复制之前的数据到所想要存储的路径下

如果之前数据路径为/var/lib/mongodb,之后路径为/data/database/mongodb,则可以执行以下命令来复制数据:

sudo rsync -av /var/lib/mongodb /data/databse/

同样的,使用cp命令也可以.

3. 如果之前有运行MongoDB,则先停止服务

sudo systemctl stop mongod.service

3.启动服务

$ systemctl start mongodb.service

查看是否启动成功:

sudo systemctl status mongodb

若显示 active(running)则启动成功!或者

cat /var/log/mongodb/mongod.log

其中最后一行为:

[thread1] waiting for connections on port 27017

其中默认端口为27017,在 /etc/mongodb.conf中配置,则启动成功!

4.设置开机自启

system enable mongodb

5.安装Robo 3T

相比而言,robo3t算是比较好用的MongoDB可视化管理工具,所以这里我们安装它.

yay -S robo3t-bin

安装完成后,打开Robo 3T界面效果如下:


Manjaro下使用MongoDB_第1张图片
first_use.png

6.参考

  • MongoDB (简体中文)
  • How to install mongodb on archlinux?
  • Archlinux下修改MongoDB默认数据存储路径

你可能感兴趣的:(Manjaro下使用MongoDB)