规格: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版的安装成功完成,没有任何错误!