原教程地址https://blog.csdn.net/MichaelWashington/article/details/105517519
1.执行./bin/mongod --dbpath=/data/mongo/db --logpath=/data/mongo/logs --fork --port 27017命令(这个命令是用来指定我们使用mongodb将数据存储到/data/mongo/db这个文件内。并且设置后台启动mongo服务(使用–fork参数常驻启动))
报错:
./bin/mongod: error while loading shared libraries: libcrypto.so.10: cannot open shared object file: No such file or directory
意思是找不到共享库文件 libcrypto.so.10。
①在这里我通过查询问题有的教程提到可以通过设置软连接的方式来为./mongod提供依赖。首先通过命令ldd /usr/local/mongodb/bin/mongod 来查看./mongod还需要哪些依赖
然后设置软连接
ln -s /usr/lib/libcrypto.so.10 /lib64/libcrypto.so.10
ln -s /usr/lib/libssl.so.10 /lib64/libssl.so.10
这样/lib64文件夹里就有可执行的依赖libcrypto.so.10和libssl.so.10
②继续执行./mongod命令还是报错不过这是错误换成了
./bin/mongod: error while loading shared libraries: libcrypto.so.10: wrong ELF class: ELFCLASS32
查询到意思是说我的系统是64位的但是我用的软件是32位的。不知道意思对不对,反正结果都是无法执行。
③继续在网上找教程,终于找到下面这个教程。虽然不是很一样但还是完美解决问题,开心。
2.通过yum whatprovides libcrypto.so.10命令查看哪个包下有共享库文件
[root@iZ2ze21r4a1m7b1cmo6t0sZ lib64]# yum whatprovides libcrypto.so.10
compat-openssl10-1:1.0.2o-3.el8.i686 : Compatibility version of the OpenSSL library
Repo : @System
Matched from:
Provide : libcrypto.so.10
3.执行安装命令 yum -y install compat-openssl10-1:1.0.2o-3.el8.i686
CentOS-8 - AppStream 113 kB/s | 4.3 kB 00:00
CentOS-8 - Base 58 kB/s | 3.9 kB 00:00
CentOS-8 - Extras 23 kB/s | 1.5 kB 00:00
Extra Packages for Enterprise Linux 8 - x86_64 93 kB/s | 4.7 kB 00:00
Package compat-openssl10-1:1.0.2o-3.el8.i686 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
4.再次执行./mongod命令还是报错
错误:./bin/mongod: error while loading shared libraries: libcrypto.so.10: cannot open shared object file: No such file or directory
通过命令:ldd /usr/local/mongodb/bin/mongod 来查看./mongod还需要哪些依赖
(剩下的步骤我也不知道为啥这么做,照抄教程做就成功了,)下面的内容都是原教程。
5.MongoDB4.2.5需要依赖openssl10相关资源,必须先在Linux中安装openssl10。
还需要下载一个MongoDB的rpm包,可以执行语句完成在线下载,因为MongoDB4.2.5安装时需要依赖openssl10进行安全访问,类似http和https之间,做安全连接
执行命令:yum -y install openssl 这里显示我已经装过了。
6.执行命令完成rpm包的下载,并执行rpm的相关命令
wget http://mirror.centos.org/centos/8/AppStream/x86_64/os/Packages/compat-openssl10-1.0.2o-3.el8.x86_64.rpm
rpm -i compat-openssl10-1.0.2o-3.el8.x86_64.rpm
查看依赖已经都有了
8.再次执行命令:./bin/mongod --dbpath=/data/mongo/db --logpath=/data/mongo/logs --fork --port 27017
这次提示成功。