【MongoDB】Ubuntu 安装部署 MongoDB

  • Post author:
  • Post category:其他




Ubuntu 安装部署 MongoDB



在这里插入图片描述



一. MongoDB 介绍

MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 Web 应用提供可扩展的高性能数据存储解决方案。

MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 json 的 bson 格式,因此可以存储比较复杂的数据类型。Mongo 最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。


[应用]




二. MongoDB 安装


提示


本文主要参考

MongoDB 菜鸟教程

进行操作进行实践,记录一些坑并做一些细节上的优化。



1. 下载 MongoDB 压缩包

打开

MongoDB 官网

选择要下载的 MongoDB 的版本以及安装的平台,并选择 tgz 包。点击 Download 下载到本机。或点击 Download 右侧的 Copy Link 获取下载链接,可以在远程主机上使用

wget

指令下载。

在这里插入图片描述

使用以下指令通过链接下载压缩包:

$ wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2004-5.0.5.tgz

使用以下指令解压压缩包:

$ tar -zxvf mongodb-linux-x86_64-ubuntu2004-5.0.5.tgz





这里有一个问题,为什么不选择下载 server 而是选择下载 shell(tgz) 呢?笔者最开始就选择了 server 下载得到 .deb 文件并安装。结果自动安装后相关文件夹的位置不清楚,而且也启动不成功。所以最后还是推荐使用压缩包文件进行安装。



2. 启动 MongoDB 服务

首先创建一些 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





笔者在最开始安装时没有创建上述两个文件夹,直接安装。结果出现了无法启动的情况,所以建议读者在安装时也要提前创建好这两个目录。

切换到 MongoDB 解压后的目录下,进入 bin 目录。bin 目录下有四个可执行文件。其中 mongod 用于启动 MongoDB 服务。而 mongo 相当于客户端,在第三节也会用到。

$ ls -l
总用量 236516
drwxrwxr-x 2 fxtack fxtack      4096 117 21:10 ./
drwxrwxr-x 3 fxtack fxtack      4096 117 21:00 ../
-rwxr-xr-x 1 fxtack fxtack     15205 122 23:33 install_compass*
-rwxr-xr-x 2 fxtack fxtack  58236608 123 00:21 mongo*
-rwxr-xr-x 1 fxtack fxtack 108660928 123 00:22 mongod*
-rwxr-xr-x 1 fxtack fxtack  75253096 122 23:59 mongos*

使用以下指令启动 MongoDB 服务。执行该指令后 MongoDB 将在后台运行,不需要使用

nohup

挂起到后台。

$ ./mongod --dbpath /var/lib/mongo --logpath /var/log/mongodb/mongod.log --fork

可以通过查看 MongoDB 日志来确认启动成功。

$ cat /var/log/mongodb/mongod.log # 将显示服务后台的输出



三. MongoDB Shell 测试

在正常启动 MongoDB 服务之后可以执行

mongo

进行链接测试。

mongo

可执行文件放在解压的 bin 目录下。为方便使用可以建立硬链接到 /usr/local/bin 下,从而使 mongo 添加到环境变量中。

$ sudo ln mongo /usr/local/bin/mongo

使用以下指令进入 MongoDB 后台,这是一个交互式的命令行。

$ mongo

进行简单的操作:

> db.test.insert({x: 1024})
WriteResult({ "nInserted" : 1 })
> db.test.find()
{ "_id" : ObjectId("61e57acf9edfcdc1e2c93117"), "value" : 1024 }

可以通过输入

exit

或者按下 ctrl+c 退出交互命令行。




相关链接