Mongodb

將作業系統從 Ubuntu 16 升級到 18 後無法啟動 mongod 守護程序

  • May 25, 2021

將作業系統從 Ubuntu 16 升級到 18 後無法啟動 mongod 守護程序

root@dummy2:~# mongod --version
   db version v4.0.4
   git version: f288a3bdf201007f3693c58e140056adf8b04839
   OpenSSL version: OpenSSL 1.1.1  11 Sep 2018
   allocator: tcmalloc
   modules: none
   build environment:
       distmod: ubuntu1804
       distarch: x86_64
       target_arch: x86_64


root@dummy2:~# 
cat /etc/*-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.4 LTS"
NAME="Ubuntu"
VERSION="18.04.4 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.4 LTS"
VERSION_ID="18.04"

root@dummy2:~# /usr/bin/mongod --config /etc/mongo/db8303/mongodb.conf &
/usr/lib/x86_64-linux-gnu/libcurl.so.4: version `CURL_OPENSSL_3' not found (required by /usr/bin/mongod) 

我在 libcurl 版本的作業系統升級前後看到的差異:

前:

root@dummy2:~# ls -lrt /usr/lib/x86_64-linux-gnu/libcurl*
/usr/lib/x86_64-linux-gnu/libcurl.so.4 -> libcurl.so.4.4.0
/usr/lib/x86_64-linux-gnu/libcurl.so.3 -> libcurl.so.4
/usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4 -> libcurl-gnutls.so.4.4.0
/usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.3 -> libcurl-gnutls.so.4
/usr/lib/x86_64-linux-gnu/libcurl.so.4.4.0
/usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4.4.0

後:

root@dummy2:~# ls -lrt /usr/lib/x86_64-linux-gnu/libcurl
/usr/lib/x86_64-linux-gnu/libcurl.so.4 -> libcurl.so.4.5.0
/usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4 -> libcurl-gnutls.so.4.5.0
/usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.3 -> libcurl-gnutls.so.4
/usr/lib/x86_64-linux-gnu/libcurl.so.4.5.0
/usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4.5.0

有沒有人遇到過類似的問題?如何解決這個問題?

我嘗試了以下不同的選項:

選項 1:使用 Ubuntu-16 mongo 二進製文件(選項 3 步驟 2 之前);如果我們對 libcurl3 沒問題

1.  apt-get remove libcurl4
2.  apt-get install libcurl3
3.  able to start the daemon

選項2:沒用

1.  apt-get remove libcurl4
2.  apt-get install libcurl4
3.  /etc/init.d/mongo_db7020
/usr/bin/mongod: /usr/lib/x86_64-linux-gnu/libcurl.so.4: version `CURL_OPENSSL_3' not found (required by /usr/bin/mongod) 

選項 3:複製 mongodb 18 二進製文件

1.  apt-get remove libcurl4
2.  rsync -asvh mongoserver:/usr/bin/mongodb-linux-x86_64-ubuntu1804-4.0.4/bin/* /usr/bin/mongodb-linux-x86_64-ubuntu1604-4.0.4/bin
3.  apt-get install libcurl4
4.  able to start the daemon

選項 1 和 3 對我來說效果很好。

Mongo 4.0.6 中添加了對 Ubuntu 18.04 的支持,請參閱https://jira.mongodb.org/browse/SERVER-37778

在此處輸入圖像描述

你有版本 4.0.4

引用自:https://dba.stackexchange.com/questions/289521