Ubuntu 下安装MongoDB
最近由于功能需求,需要使用MongoDB,跟着教程走,需要在linux上安装MongoDB Server,此篇文章,记录一下自己踩过的坑以及相应的解决方案。
1. 下载
去MongoDB官网下载相应的安装包
- 选择你的操作系统平台与版本
- 选择tgz包
2 安装
- 使用xftp将文件上传到服务器
若上传失败,看看是否是要上传到的文件夹没有权限,解决方案
- 解压压缩包
# 遇到permission denied,行首加上sudo,验证即可
tar -xvf mongodb-linux-x86_64-ubuntu2004-5.0.7.tgz
- 解压完成之后,将压缩包移动到 /usr/local/mongodb
mv mongodb-linux-x86_64-ubuntu2004-5.0.7 /usr/local/mongodb
- 在mongodb中创建两个文件夹
#第一个
sudo mkdir data -p
#给该文件夹设置权限
#新上手,所以我创建的文件夹的权限全是777
sudo chmod 777 data
#第二个
sudo mkdir log -p
sudo chmod 777 log
- 进入data文件夹,再创建一个db文件夹
sudo mkdir db -p
sudo chmod 777 db
- 进入log文件夹,创建一个mongod.log文件
sudo touch mongod.log
sudo chmod mongod.log
- 进入mongodb下面的bin文件夹,创建一个mongod.conf文件(配置文件)
sudo touch mongod.conf
# 设置权限之后,直接用文件编辑器编辑配置文件
sudo chmod mongod.conf
- 编辑配置文件,以下是配置文件内容
#注意,要四个空格,不要tab,否则可能出错
systemLog:
#MongoDB发送所有日志输出的目标指定为文件
destination: file
#mongod或mongos应向其发送所有诊断日志记录信息的日志文件的路径
#直接写全,免得出错
path: "/usr/local/mongodb/log/mongod.log"
#当mongos或mongod实例重新启动时,
#mongos或mongod会将新条目附加到现有日志文件的末尾。
logAppend: true
storage:
#mongod实例存储其数据的目录。storage.dbPath设置仅适用于mongod
dbPath: "/usr/local/mongodb/data/db"
#启用或禁用持久性日志以确保数据文件保持有效和可恢复。
journal:
enabled: true
processManagement:
#启用在后台运行mongos或mongod进程的守护进程模式。
fork: true
net:
#服务实例绑定的IP,默认是localhost,
bindIp: 127.0.0.1,192.168.171.128
#绑定的端口号,默认是27017
port: 27017
- 保存之后,进入
/usr/local/mongodb/bin
,输入命令启动mongodb
#命令
./mongod -f mongod.conf
如果启动成功,会出现 successfully
至此,基础流程就走完一遍了,但在这个过程中遇到了不少问题,以下会列举我所遇到的问题
3. 远程验证链接
在windows上,使用compass,输入服务器ip,点击连接
如果远程连接不上,配置防火墙放行,或者关闭linux防火墙
#查看防火墙状态
systemctl status firewalld
#临时关闭防火墙
systemctl stop firewalld
#开机禁止启动防火墙
systemctl disable firewalld
4.问题
问题一:第一次启动失败,提示:about to fork child process, waiting until server is ready for connections. forked process:XX
搜索了很多篇资料,都让我删除一个.lock
文件,但我第一次安装还没运行起来,根本没有这个文件。
在bin目录下使用命令 ./mongod --repaire
尝试修复,发现提示:**error in initAndListen: NonExistentPath: Data directory /data/db not found., ter...**
判定问题出在这里。
没有找到 data/db文件夹,但我是有这两个目录的,而且配置文件配置的路径也没有问题,再次查询资料,找到了解决方案,我使用的是方法二,运行mongod --dbpath '/usr/local/mongodb/data/db'
。
然后再次在bin目录下执行 ./mongod -f mongod.conf
,运行成功。但我目前仍然不清楚问题所在。
问题二:修改了 /etc/profile 的profile文件,导致再次登录的时候,一直反复回到登录界面
解决方案:进入到profile文件,把修改的地方删除。 具体步骤
这里可能不是按 ctrl alt f1,试试f2/f3/....
问题三:不要随意的关闭MongoDB服务,可能导致下次启动失败,解决方案的话,就和之前搜索到的一样了。
1)删除lock文件
rm -f /mongodb/data/db/*.lock
2)修复数据
/usr/local/mongodb/bin/mongod --repair --dbpath=/mongodb/data/db
3)标准的关闭步骤
# 客户端登录服务,此处是通过localhost登录
mongo --port 27017
# 切换到admin库
use admin
# 关闭
db.shutdownServer()
问题四:虚拟机再次开机无网络
解决方案:我使用的是方法二
5. 补充
需要用vi编辑文件,以下是一些vi常用命令
vi常用命令
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgcgjeh
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13