数据库 - 05 MongoDB数据库的理解

MongoDB数据库的理解

1. 前言

MongoDB是2009年问世的一个面向文档的数据库管理系统,由C++语言编写,旨在为Web应用提供可扩展的高性能数据存储解决方案。虽然在划分类别的时候后,MongoDB被认为是NoSQL的产品,但是它更像一个介于关系数据库和非关系数据库之间的产品,在非关系数据库中它功能最丰富,最像关系数型据库。

MongoDB将数据存储为一个文档,一个文档由一系列的“键值对”组成,其文档类似于JSON对象,但是MongoDB对JSON进行了二进制处理(能够更快的定位key和value),因此其文档的存储格式称为BSON。关于JSON和BSON的差别大家可以看看MongoDB官方网站的文章[《JSON and BSON》](https://www.mongodb.com/json-and-bson)。

目前,MongoDB已经提供了对Windows、MacOS、Linux、Solaris等多个平台的支持,而且也提供了多种开发语言的驱动程序,Python当然是其中之一。

2. windows下安装

可以从MongoDB的[官方下载](https://www.mongodb.com/download-center#community)链接下载MongoDB,官网上提供了windows的安装msi文件,也提供了linux和mac的安装包的,可以直接下载安装

windows的下载msi文件比较大有183M,下载需耐心等待了。

(1)windows下安装配置

自定义了安装目录以后,直接下一步下一步就可以完成本地的mongo安装了
这里写图片描述

(2) 启动mongodb服务器
我的mongodb安装在D:\instal_soft\mongodb中,那我指定mongodb的data/db也在该路径下即可。但是data文件夹和db文件夹需要自己创建,创建成功以后,执行以下的命令即可启动mongodb了

打开黑品终端:进入安装路径
>>>D:

# 创建数据库位置 data\db代表数据库名
>>>D:\KFRJ\MongoDB\bin>mongod.exe --dbpath=C:\Users\hanbo\Desktop\data\db
#此时服务器启动成功

这里写图片描述
如下是安装成功了mongodb,系统会默认开启27017端口,可以通过’localhost:27017’去访问mongodb了。
这里写图片描述

(3) 操作数据库
# 启动mongo.exe文件
>>>D:\KFRJ\MongoDB\bin>mongo.exe
> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
>

3 linux下安装

(1)wget获取MongoDB
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-amazon-3.6.5.tgz
(2)gunzip解压缩

gunzip是个使用广泛的解压缩程序,它用于解开被gzip压缩过的文件
这里写图片描述

(3)安装

解压,并指定安装到刚创建的mongodb-3.6.5中,并去除掉第一级的目录结构(–strip-components number参数)

mkdir mongodb-3.6.5

tar -xvf mongodb-linux-x86_64-amazon-3.6.5.tar --strip-components 1 -C mongodb-3.6.5/
(4)设置环境变量,启动MongoDB
export PATH=$PATH:~/mongodb-3.6.5/bin
mkdir -p /data/db
mongod --bind_ip 45.76.206.145

这里写图片描述
启动mongodb后,然后就可以愉快的使用mongodb进行玩耍:

mongo --port 45.76.206.145

这里写图片描述

设置配置文件mongodb.conf

vi mongodb.conf

# 数据文件存放目录
dbpath = /home/mongodb/data/db

# 日志文件存放目录
logpath = /home/mongodb/logs/mongodb.log

# 端口
port = 27017

# 以守护程序的方式启用,即在后台运行
fork = true
nohttpinterface = true
auth=true
bind_ip=0.0.0.0

启动mongo命令: mongod -f mongodb.conf

(5)查看进程

CentOS下安装 yum install net-tools 就可以使用netstat -lntp 去查看进程端口等信息.

4.sql和mongodb进行对比

我们通过与关系型数据库进行对照的方式来说明MongoDB中的一些概念。

SQLMongoDB解释(SQL/MongoDB)
databasedatabase数据库/数据库
tablecollection二维表/集合
rowdocument记录(行)/文档
columnfield字段(列)/域
indexindex索引/索引
table joins表连接/嵌套文档
primary keyprimary key主键/主键(_id字段)

5.Robomongo可视化工具

在windows开发环境中,需要可视化mongodb数据库,通常都会使用Robomongo这个可视化工具。可去官网下载.

简单的配置一下即可访问centos7 上的mongodb数据库。

这里写图片描述
注意:

如果在配置Robomongo的过程中,遇到无法访问,出现’connect: network is unreachable’的提示的话,表示mongo的远程没有开启,或者防火墙的问题。首先需要检查mongodb.conf文件中的bind_ip是否是0.0.0.0。其次在查看防火墙是否开启,可直接关闭防火墙,在进行Robomongo链接尝试。

# 停止firewall 
systemctl stop firewalld.service

# 禁止firewall开机启动 
systemctl disable firewalld.service

6.安装可视化工具Mongochef步骤

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值