Manjaro下使用MongoDB
2019-05-06 本文已影响0人
iamlightsmile
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界面效果如下:
first_use.png