MongoDB介绍和安装
MongoDB简介以及安装

MongoDB介绍

MongoDB简介

MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。

在高负载的情况下,添加更多的节点,可以保证服务器性能。

MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。

MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

MongoDB特点

MongoDB 最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。它是一个面向集合的,模式自由的文档型数据库。
具体特点总结如下:

  • 面向集合存储,易于存储对象类型的数据
  • 模式自由
  • 支持动态查询
  • 支持完全索引,包含内部对象
  • 支持复制和故障恢复
  • 使用高效的二进制数据存储,包括大型对象(如视频等)
  • 自动处理碎片,以支持云计算层次的扩展性
  • 支持Python,PHP,Ruby,Java,C,C#,Javascript,Perl 及C++语言的驱动程
    序,社区中也提供了对Erlang 及.NET 等平台的驱动程序
  • 文件存储格式为BSON(一种JSON的扩展)

MongoDB基本概念

MongoDB 的逻辑结构是一种层次结构。主要构成分别为:

  • 文档(document):相当于关系数据库中的一行记录
  • 集合(collection):相当于关系数据库的表
  • 数据库(database):逻辑上组织在一起,就是数据库(database)

一个MongoDB 实例支持多个数据库(database)。文档(document)集合(collection)数据库(database)的层次结构。

扩展

与关系型数据库对应关系表格,截取自[菜鸟教程]:

SQL术语/概念 MongoDB术语/概念 解释/说明
database database 数据库
table collection 数据库表/集合
row document 数据记录行/文档
column field 数据字段/域
index index 索引
table joins 表连接,MongoDB不支持
primary key primary key 主键,MongoDB自动将_id字段设置为主键

看下图更直观:

MongoDB安装

注意:下面的安装环境为:CentOS 7

.tgz安装

官方下载地址:download-center

  1. 选择MongoDB版本和操作系统版本,我这里是安装到CentOS 7上。

  2. 下载完毕后将下载的.tgz的包上传到服务器。

  3. 解压压缩包

    1
    tar -zxvf mongodb-linux-x86_64-4.0.10.tgz
  4. 创建数据存放目录

    MongoDB的数据存储在data目录的db目录下,但是这个目录在安装过程不会自动创建,所以你需要手动创建data目录,并在data目录中创建db目录。

    1
    mkdir -p /date/db

    也可以在启动时,使用--dbpath手动指定数据存放位置。

  5. 运行

    进入解压后的文件夹中的bin目录,执行下方命令

    1
    ./mongod
  6. 查看是否成功启动

    1
    2
    # 如果没有此命令,需要安装net-tools:yum install net-tools -y
    netstat -neplt

  7. 绑定通配IP访问

    在上面安装完成后,可以看到MongoDB27017端口监听的IP是127.0.0.1,这就意味着,外网是连不到的,这显然不是我们想要的效果,这里需要配置外网IP也能够访问到安装好的MongoDB

    1
    2
    3
    4
    5
    6
    7
    8
    # 停止之前的MongoDB
    kill -9 19353
    # 使用参数启动并绑定通配IP访问,更多参数可以使用 ./mongod --help查看(全英文)
    ./mongod --bind_ip_all
    # 再提一嘴,这里都是前台运行,意思就是关掉当前连接的session,mongodb就没了
    # 我们可以使用 --fork 和 --logpath 配合使用(如果要使用--fork就必须使用--logpath)
    # 日志路径随意,你喜欢就行,但是如果日志目录不存在需要先行创建
    ./mongod --bnd_ip_all --fork --logpath=/logs/mongodb/mongodb.log
  8. 再次查看

    1
    netstat -neplt

    搞定!!!

yum安装

注意:yum安装方式必须在服务器有网的情况下才行,否则请使用.tgz方式安装

  1. 创建MongoDByum源文件

    1
    vim /etc/yum.repos.d/mongodb-org-4.0.repo

    文件内容如下:

    1
    2
    3
    4
    5
    6
    [mongodb-org-4.0]
    name=MongoDB Repository
    baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
    gpgcheck=1
    enabled=1
    gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
  2. 安装MongoDB

    1
    2
    # 安装可能会花费一些时间,请耐心等待
    yum install -y mongodb-org

    这样是安装的最新版本,如果需要指定的版本话可以执行下面这条命令并修改版本号

    1
    yum install -y mongodb-org-4.0.10 mongodb-org-server-4.0.10 mongodb-org-shell-4.0.10 mongodb-org-mongos-4.0.10 mongodb-org-tools-4.0.10
  3. 创建MongoDB需要的文件夹并设置权限

    1
    2
    3
    4
    5
    6
    # 创建目录
    mkdir -p /var/lib/mongo
    mkdir -p /var/log/mongodb
    # 设置权限
    chown -R mongod:mongod /var/lib/mongo
    chown -R mongod:mongod /var/log/mongodb
  4. 启动

    1
    systemctl start mongod
  5. 查看是否成功启动

    1
    netstat -neplt

  6. 配置通配IP访问

    1
    2
    3
    # 修改配置文件(yum安装才自带配置文件哦)
    # .tgz方式安装需要配置文件的话需要自己创建,启动时使用 -f 指定配置文件位置
    vim /etc/mongod.conf

  7. 重新启动

    1
    systemctl restart mongod.service

    搞定!!!

使用Docker安装

注意:需要先安装docker环境。参考:docker安装

  1. 搜索MongoDB镜像

    1
    docker search mongodb

  2. 拉取MongoDB镜像

    1
    docker pull mongo
  3. 使用镜像创建容器

    1
    docker run -di --name=mymongodb -p 27017:27017 mongo

hey,is done,f**k easy??!!

文章作者: imxushuai
文章链接: https://www.imxushuai.com/2019/04/20/MongoDB介绍和安装/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 imxushuai
支付宝打赏
微信打赏