MongoDB的安装

作者: adm 分类: 教程 发布时间: 2023-08-13

 MonogoDB支持arm64、ppc64le、s390x和x86-64架构。兼容在Linux、Windows、MacOS等多种平台运行。

一. 下载
官方下载地址:https://www.mongodb.com/try/download/community
选择对应的操作系统与MongoDB版本进行下载即可。

二. 在Windows安装
对于Windows,官方提供了两种方式,即msi安装包与zip包。msi方式在安装时可以灵活地选择需要安装的组件,而zip中包含了所有已经编译好的mongodb组件可执行文件,开箱即用。

三. 在Linux安装
Mongodb Linux版本同样提供了两种方式,即安装包(如Redhat的rpm,Debian的deb等)与二进制可执行文件包(开箱即用),如下图。
在这里插入图片描述
其中安装包以各组件独立提供:

mongodb-mongos安装后仅包含mongos可执行文件;
mongodb-server安装后仅包含mongod可执行文件;
mongodb-shell安装后仅包含mongo可执行文件;
mongodb-tools包含所有mongodb提供的工具:mongodump、mongoexport、mongofiles、mongoimport、mongorestore、mongostat、mongotop

以Redhat安装包为例进行安装,执行 rpm -ivh 包名 即可安装对应组件,若存在其他依赖需一并进行安装。
二进制可执行文件包通过 tar zxvf mongodb-linux-x86_64-rhel70-4.2.23.tgz 解压即可,其中包含MongoDB所有的组件及工具包。

四. 源码安装
MongoDB作为开源软件,同样提供了源代码供用户下载,用户可按需求使用源代码进行MongoDB的安装。
在这里插入图片描述
下面以Centos7.6为例进行源代码编译安装。

依赖准备

gcc 8.0或更新版本
libcurl-devel
Python 3.7 及 pip模块

编译安装种遇到的其他依赖
gcc8.0的安装及配置

	yum install centos-release-scl-rh
	yum install devtoolset-8-gcc-c++
	source /opt/rh/devtoolset-8/enable

libcurl-devel或其他依赖包

	yum install libcurl-devel
	yum install xxxxxxxxx

Python3.7(建议编译安装)

	#安装编译安装python相关依赖
	yum install zlib
    yum install zlib-devel
    #编译安装python
	wget https://www.python.org/ftp/python/3.7.9/Python-3.7.9.tgz
	tar xvf Python-3.7.9.tgz 
	cd Python-3.7.9
	./configure --prefix=/opt/python/python3.7
	make && make install
	#升级pip模块
	/opt/python/python3.7/bin/python3.7 -m pip install --upgrade pip

编译安装MongoDB

	wget https://fastdl.mongodb.org/src/mongodb-src-r4.2.23.zip
	unzip mongodb-src-r4.2.23.zip 
	cd mongodb-src-r4.2.23
	#pip安装编译相关python模块
	/opt/python/python3.7/bin/python3.7  -m pip install -r etc/pip/compile-requirements.txt
	#编译mongodb源码,如仅编译mongod将参数all改为 mongod即可
	/opt/python/python3.7/bin/python3.7 buildscripts/scons.py all
	#安装
	/opt/python/python3.7/bin/python3.7 buildscripts/scons.py --prefix=/opt/mongo install

至此,源码安装MongoDB完成。

总结
源码安装的优势是可根据需求进行源代码修改,并可自由选择想要安装的组件,但过程则相对复杂。
以上多种安装方式各有优缺点,具体则根据个人实际情况进行选择。

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!