MongoDB 学习笔记1 - MongoDB介绍和安装

2020-04-09 14:42:13 浏览数 (1)

0. 背景

开始学习 MongoDB,本文简单介绍MongoDB和安装过程。

1. MongoDB 简介

MongoDB

MongoDB是一个通用的、基于文档的分布式数据库,它是为现代应用程序开发人员和云时代而构建的。

MongoDB是一个文档型数据库,它将数据存储在类似json的文档中。这是一种处理数据的最自然的方式,比传统的行/列模型的数据库更有表现力和更强大。

特点:

  • 数据以JSON方式存储,处理数据最自然,支持数组和嵌套对象。
  • 查询也以JSON方式,支持筛选和排序,聚合。
  • 完整的支持ACID。

备注:ACID是指 A (Atomicity) 原子性,C (Consistency) 一致性I (Isolation) 独立性,D (Durability) 持久性。

整体特征:中庸 MongoDB 是一个介于关系数据库和非关系数据库(NoSQL)之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

这里提到了 NoSQL ,那么什么是NoSQL?

NoSQL

NoSQL 意即"不仅仅是SQL"。泛指非关系型的数据库。

NoSQL用于超大规模数据的存储。这些类型的数据存储不需要固定的模式,方便于横向扩展。

NoSQL 和 传统的关系型数据的对比 (RDBMS vs NoSQL)

NoSQL

RDBMS (关系型数据库)

不仅仅是SQL

结构化查询语言(SQL) (SQL)

最终一致性,而非ACID属性

严格的一致性

没有声明性查询语言,没有预定义的模式

数据操纵语言,数据定义语言

键 - 值对存储,列存储,文档存储,图形数据库

数据和关系都存储在单独的表中。

非结构化和不可预知的数据

高度组织化结构化数据

CAP定理

_

高性能,高可用性和可伸缩性

_

_

基础事务

2.安装MongoDB

安装过程分这么几步:

  • (1) 找到适合你的二进制包
  • (2) 下载二进制包
  • (3) 配置环境变量
  • (4) 编写配置文件
  • (5) 启动

下面分别描述:

2.1 找到适合你的二进制包

MongoDB 提供了社区版 MongoDB Community Server ,你可以免费下载使用。我们浏览 官方下载地址 找到符合你操作系统的版本并下载。

image.png

2.2 下载二进制包

我的是 CentOS 7.0,我这里选择了 压缩包格式 (TGZ),并拷贝到你的机器上。官网也提供了下载的连接地址,你也可以在机器上执行

代码语言:javascript复制
wget  https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.5.tgz

下载完成后,解压缩你的文件

代码语言:javascript复制
tar -xvzf <tgz file>

解压缩文件后,进入 bin 子目录可以看到一些执行文件,重要的两个:

  • mongod 用来启动 MongDB 服务进程
  • mongo 打开客户端 shell , 它是一个客户端连接工具。

2.3 配置环境变量

为了省心,把 bin 文件夹路径添加到环境变量 PATH 中,可以简化命令。

打开并编辑你的 /etc/profile 文件, 指定 bin 所在的目录到环境变量配置文件中。示例:

代码语言:javascript复制
export MONGO_DB_HOME="/root/mango/mongodb-linux-x86_64-rhel70-4.2.5"
export PATH=$MONGO_DB_HOME/bin:$PATH

2.4 编写配置文件

准备数据库文件的路径 比如我这里创建了一个目录:/root/mango/database

代码语言:javascript复制
  mkdir /root/mango/database

在你的 bin 目录下新建一个文件 mongodb.config,编辑内容:

代码语言:javascript复制
# 数据库文件位置
dbpath=/root/mango/database

#日志文件存放路径
logpath= /root/mango/logs/mongodb.log
# 追加方式写日志
logappend=true


# 允许外部访问,如设置为127.0.0.1则只能在本机访问
bind_ip = 0.0.0.0


# 可在后台运行
fork=true

2.5 启动

执行 mongod ,带上参数 --config /path/to/your/mongodb.config。示例:

代码语言:javascript复制
mongod --config $MONGO_DB_HOME/bin/mongodb.config

默认启动后 在 27017 端口。

2.6 尝试连接

启动完成后,查看进程是否启动

代码语言:javascript复制
ps aux |grep mongod

在bin目录下可以看到 MongoDB 常用的命令:

  • mongod 用来启动 MongDB 服务进程
  • mongo 打开客户端 shell , 它是一个客户端连接工具。

你可以执行 mongo ,连接 shell 到你的服务器上了。

进入 shell 后,可以通过 version() 查看版本号,输入:

代码语言:javascript复制
db.version()

0 人点赞