MongoDB 简单介绍以及安装

MongoDB 介绍

MongoDB 是一种 NoSQL 数据库,它在数据存储的形态上和 MySQL 这类关系数据库有本质区别。MongoDB 存储的基本对象是 Document,所以我们把它称为一种文档数据库,而文档的集合则组成了Collection。与 SQL 的概念类比,Collection 对应于 Table 而 Document 对应于 RowDocument 使用一种 BSON(Binary JSON)结构来表达,JSON 大家都熟悉,像下面这样。

MongoDB 应用场景

游戏场景:使用 MongoDB 存储游戏用户信息,用户的装备、积分等直接以内嵌文档的形式存储,方便查询、更新

物流场景:使用 MongoDB存储订单信息,订单状态在运送过程中会不断更新,以 MongoDB内嵌数组的形式来存储,一次查询就能将订单所有的变更读取出来

社交场景:使用 MongoDB存储存储用户信息,以及用户发表的朋友圈信息,通过地理位置索引实现附近的人、地点等功能

物联网场景:使用 MongoDB存储所有接入的智能设备信息,以及设备汇报的日志信息,并对这些信息进行多维度的分析

视频直播:使用 MongoDB存储用户信息、礼物信息等

MongoDB 安装

MongoDB 的安装方式比较简单,由于源码安装比较麻烦,我们的本意只是为了学习 MongoDB 而 yum 种傻瓜式安装是为了更方便现在学习,本文以 yum 方式安装。

工具:

VMware版本号:12.0.0

CentOS版本:7.0

: 3.4 版本 MongoDB 不再为 32 位平台(Linux 和 Windows)提供商业支持,本文安装版本为3.4

查看自己 Linux 版本:

uname –a

x86_64 表示 64 位机器
i686 表示 32 位机器

整个 MongoDB(社区版)包含如下软件

# 包含mongod守护程序和关联的配置和init脚本mongodb-org-server    # 包含mongos守护程序mongodb-org-mongos    # 包含mongo shell,它是一个连接mongodb的命令行客户端,允许用户直接输入nosql语法管理数据库mongodb-org-shell    # 包含以下工具的MongoDB:数据导入、导出、备份、恢复等等mongodb-org-tools    

创建 yum 源文件

vim /etc/yum.repos.d/mongodb-org-3.4.repo

将下面内容复制到源文件中

[mongodb-org-3.4]name=MongoDB Repositorybaseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/gpgcheck=1enabled=1gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc

启动 yum 命令开始安装

yum install -y mongodb-org

如果使用 SELinux,则必须配置 SELinux,以允许在基于 Red Hat Linux 的系统(Red Hat Enterprise Linux 或 CentOS Linux)上启动 MongoDB

vim /etc/selinux/config

将 SELINUX 值设置为 disabled

启动 Mongodb (Mongodb 服务端的默认连接端口是 27017)

# Centos6 启动$ service mongod start# Centos7 启动$ systemctl start mongod

查看是否启动

netstat -tlnup|grep mongod

查看是否占用 27017 端口号

netstat -tlnup|grep 27017

其它控制命令

# 停止 Mongodb 服务$ service mongod stop# 重启 Mongodb$ service mongod restart

设置开机启动

chkconfig mongod on

找到 MongoDB 客户端

find / -name mongo

连接客户端

/usr/bin/mongo

输入测试命令 show dbs 查看当前数据库有哪些

停止 MongoDB 服务器
可以使用 Ctrl + c 或者输入 exit 退出 MongoDB 界面。

:进入 MongoDB 界面会出现警告

Server has startup warnings: 2017-03-30T06:40:26.039+0800 I CONTROL  
[initandlisten] 2017-03-30T06:40:26.039+0800 I CONTROL
[initandlisten] ** WARNING: Access control is not enabled for the database.2017-03-30T06:40:26.039+0800 I CONTROL
[initandlisten] ** Read and write access to data and configuration is unrestricted.2017-03-30T06:40:26.039+0800 I CONTROL
[initandlisten] 2017-03-30T06:40:26.040+0800 I CONTROL
[initandlisten] 2017-03-30T06:40:26.040+0800 I CONTROL
[initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.2017-03-30T06:40:26.040+0800 I CONTROL
[initandlisten] ** We suggest setting it to 'never'2017-03-30T06:40:26.040+0800 I CONTROL
[initandlisten] 2017-03-30T06:40:26.040+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.2017-03-30T06:40:26.040+0800 I CONTROL
[initandlisten] ** We suggest setting it to 'never'2017-03-30T06:40:26.040+0800 I CONTROL
[initandlisten]

这是因为没有配置 MongoDB 的安全功能,如授权身份验证。当然只是为了学习的话,可以忽略它,但是生产环境必须需要配置

北京网站建设公司

posted @ 2017-04-18 11:18  堕落白天使  阅读(160)  评论(0编辑  收藏  举报