MongoDB 数据库
🍃 不知细叶谁裁出,二月春风似剪刀
这一小节我们将讨论如何在 openEuler 上部署 MongoDB 数据库。
🔖 这一节将会讨论:
目录

了解 MongoDB 数据库
MongoDBopen in new window 是由 MongoDB Inc.(当时是 10gen 团队)于 2007 年 10 月开发,2009 年 2 月首度推出的非关系型数据库,是通用、基于文档的分布式数据库。
安装 MongoDB 数据库
1. 下载安装文件
打开 MongoDB 下载页面open in new window >
Version(版本)选择5.0.0>Platform(平台)选择Source (tgz)(源码)> 点击Download(下载)或Copy Link(复制下载链接)后通过wget下载:
解压源码压缩包
mongodb-src-r5.0.0.tar.gz:tar -xf mongodb-src-r5.0.0.tar.gz -C /usr/local/1
2. 安装编译所需依赖
由于 MongoDB 官方没有提供 openEuler 的二进制压缩包,所以需要自行编译。
按照官方文档的要求和系统的,编译 MongoDB 需要以下依赖:
- GCC 8.2 或更新
- libcurl-devel
- Python 3.7.x 和 Pip 模块
- openssl-devel
检查依赖版本:
gcc --version # 需要更新(openEuler 20.03 (LTS-SP1) 需要,更新 openEuler 版本不需要) python3 --version # 符合要求 pip3 --version # 符合要求1
2
3
安装相关依赖:
sudo dnf install libcurl-devel scons1
打开 GCC 镜像列表open in new window > 选择一个镜像站:

以霓虹这个镜像站为例,点击
release>gcc-11.1.0> 点击gcc-11.1.0.tar.gz下载 GCC 源码:

解压源码压缩包
gcc-11.1.0.tar.gz到/usr/local/目录:ℹ️ 提示
以下命令请在 root 用户下执行:
su - root1tar -xf gcc-11.1.0.tar.gz -C /usr/local/ cd /usr/local/gcc-11.1.0 # 切换到解压目录1
2执行以下指令以下载安装 GCC 所需要的依赖包(如 gmp、mpfr、mpc 等):
./contrib/download_prerequisites1ℹ️ 提示
执行此命令需要确保系统安装了相关依赖,否则使用以下命令安装:
dnf install bzip2 wget1
手动创建一个目录,用于存放编译 GCC 源码包生成的文件:
mkdir /usr/local/gcc-build-11.1.0 cd /usr/local/gcc-build-11.1.01
2由于 GCC 编译器支持多种编程语言的编译,而实际情况中我们可能只需要编译 C 和 C++ 两种编程语言,故需要进行配置:
../gcc-11.1.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib1
同时会生成
Makefile和相关文件:
使用
make命令编译 GCC:make1ℹ️ 提示
此过程将非常耗时(2 小时或更长)。若使用 SSH 远程连接请务必配置并使用不间断会话服务,具体操作请参阅 3. 不间断会话服务配置。

执行以下命令安装 GCC:
make install1重启计算机,查看 GCC 版本信息:
reboot gcc --version1
2
安装 Python 相关模块:
cd /usr/local/mongodb-src-r5.0.0 python3 -m pip install -r etc/pip/compile-requirements.txt1
2
3. 编译 MongoDB
执行以下命令:
cd /usr/local/mongodb-src-r5.0.0
python3 buildscripts/scons.py DESTDIR=/usr/local/mongo install-core --disable-warnings-as-errors
2
ℹ️ 提示
此过程将非常耗时(2 小时或更长)。若使用 SSH 远程连接请务必配置并使用不间断会话服务,具体操作请参阅 3. 不间断会话服务配置。
当输出 scons: done building targets. 说明编译成功:

4. 配置 MongoDB
编译并安装 MongoDB 后,还需要做一些环境变量以及目录权限相关的配置。
ℹ️ 提示
以下命令请在需要管理 MongoDB 的用户下执行。
可以事先创建管理 MongoDB 的用户。
4-1. 设置环境变量
MongoDB 的可执行文件位于
/usr/local/mongo/bin目录下,可将其添加到PATH路径中:vim ~/.bash_profile1export PATH=/usr/local/mongodb/bin:$PATH1
重新登录,验证效果:
echo $PATH1
4-2. 配置目录
默认情况下 MongoDB 启动后会初始化以下两个目录:
/var/lib/mongodb—— 数据存储目录/var/log/mongodb—— 日志文件目录
在启动前可以先创建这两个目录并设置当前用户有读写权限:
sudo mkdir -p /var/lib/mongo
sudo mkdir -p /var/log/mongodb
sudo chown `whoami` /var/lib/mongo # 设置权限
sudo chown `whoami` /var/log/mongodb # 设置权限
2
3
4

启停 MongoDB 数据库
使用以下命令启动 MongoDB:
mongod --dbpath /var/lib/mongo --logpath /var/log/mongodb/mongod.log --fork1
使用以下命令进入 MongoDB 后台管理 Shell:
mongo1
MongoDB Shell 是 MongoDB 自带的交互式 JavaScript Shell,用来对 MongoDB 进行操作和管理的交互式环境。可执行一些简单的算数运算:

使用以下命令关闭 MongoDB:
mongod --dbpath /var/lib/mongo --logpath /var/log/mongodb/mongod.log --shutdown1
接下来...
🍻 恭喜!你已经成功在 openEuler 上部署了 MongoDB。如果您是初学者,可以由此开始学习操作 MongoDB;如果您已经对 MongoDB 非常熟悉了,相信您很快就可以完成其它的配置以及项目的部署。