mongodb - MongoDB 未在 Ubuntu 18.04 服务器中正确安装
问题描述
规格:Ubuntu 18.04 Nginx 服务器,Vestacp 控制面板。
MongoDB 预装在我的服务器中,版本为 3.6.3。它工作正常,但我想将其升级到 4.4 版(当前版本)。
现在的问题是我无法启动mongo服务(社区版)。
到目前为止我遵循的步骤:
停止 MongoDB 服务,删除包并删除数据目录。
sudo service mongod stop
sudo apt-get purge mongodb-org*
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb
尝试按照文档中的确切步骤安装新版本 4.4。以下是带有顺序的命令:
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
sudo apt-get install gnupg
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
sudo apt-get update
sudo apt-get install -y mongodb-org
echo "mongodb-org hold" | sudo dpkg --set-selections
echo "mongodb-org-server hold" | sudo dpkg --set-selections
echo "mongodb-org-shell hold" | sudo dpkg --set-selections
echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
echo "mongodb-org-tools hold" | sudo dpkg --set-selections
ps --no-headers -o comm 1
sudo systemctl start mongod
sudo systemctl daemon-reload
sudo systemctl enable mongod
mongo
错误:
sudo apt-get update
它抛出一个错误:
Skipping acquire of configured file 'nginx/binary-i386/Packages' as repository 'http://nginx.org/packages/mainline/ubuntu bionic InRelease' doesn't support architecture 'i386'
在台阶上:
sudo apt-get install -y mongodb-org
E: Sub-process /usr/bin/dpkg returned an error code (1)
在台阶上:
sudo systemctl start mongod
Failed to start mongod.service: Unit mongod.service not found.
目录:
/var/lib/mongodb
和
/var/log/mongodb
安装后不会自动创建,我无法在上述路径中找到它们。
我尝试启动服务器的端口是默认的 27017,我将规则设置为 ufw。
我试图从类似的帖子中找到解决方案,但一无所获。我现在卡了两天。有什么想法或帮助吗?
解决方案
问题在于卸载以前的 MongoDB 版本 3.6.3。
终端中的命令...
sudo apt-get purge mongodb-org*
...没有正确卸载所有软件包。
正确的卸载是在命令行中输入:
sudo apt list --installed | grep mongo
...为了查看 MongoDB 是否还有任何包。我有 2 个包“purge mongodb-org*”无法删除。
所以正确的删除执行如下:
sudo apt remove mongodb
sudo apt purge mongodb
sudo apt autoremove
之后,新版MongoDB 4.4版本的安装顺利完成,没有报错!
推荐阅读
- javascript - 随机脚本错误。在 Angular 单元/集成测试中
- javascript - React JS - Fetch() 事件导致 404 Not Found
- python - 如何将文件夹中的不同 csv 文件合并为一个 csv 文件?
- javascript - 多个模板网址Angular 6
- javascript - 减去十进制数字后,显示的数字太多
- react-native - React Native:如何在 React Native 中获取 iOS 和 android 设备中可用 wifi 网络的列表?
- python - 在 Tensorflow 1.9 中的 LSTM 中设置初始状态
- c# - c#方法第一次运行比第一次运行慢
- c# - EF Core 拥有的属性状态传播到父实体
- java - Libgdx 循环播放音乐