欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MongoDB的简单学习1-安装

程序员文章站 2022-05-08 14:54:07
...

一、简单了解

1.NoSQL简介

NoSQL是Not Only SQL的缩写,它指的是非关系型的数据库,是以Key-Value的形式存储,和传统的关系型数据库不一样,不一定遵循传统数据库的一些基本要求,比如说:遵循SQL标准、ACID属性、表结构等等,这类数据库主要有以下特点:非关系型的、分布式的、开源的、水平可扩展的。

常见的NoSQL数据库:Redis 、MongoDB、BigTable等

 

2.MongoDB简介

MongoDB是一个基于分布式文件存储的数据库,由c++语言编写,为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB属于非关系数据库,也不能说完全属于,更像是介于关系数据库和非关系数据库之间的产品,是非关系数据库中功能最丰富,很像关系型数据库。

他的语法类似Javascript面向对象的查询语言,它是一个面向集合的,模式*文档型数据库。

面向集合(Collenction-Orented)

意思是数据被分组存储在数据集中被称为一个集合(Collenction) 。每个集合在数据库中都有一个唯一的标识名,并且可以包含无限数目的文档。集合概念类似关系型数据库中的,不同的是它不需要定义任何模式。

模式*(schema-free)

意思是集合里面没有行和列的概念,下面两个记录可以存在于同一集合中:

{“name”:"hanchao"}

{"age":"30"}

文档型(documents)

意思是我们存储的数据是键-值对的集合键是字符串值可以是数据类型集合中的任何类型,包含数组和文档,每一个文档相当于关系型数据库中的一条记录。

MongoDB的简单学习1-安装

3.特性

MonoDB的特点是高性能、易部署、易使用,存储数据非常方便,主要特性有:

面向集合存储,易于存储对象类型的数据

模式*

支持动态查询

支持完全索引,包含内部对象

支持复制和故障恢复

使用高效的二进制数据存储,包括大型对象(如视频、图片等)

*处理碎片,以支持云计算层次的扩展性

文件存储格式为BSON(一种JSON的扩展)

4.适用场景

持久化缓存层

高效的实时性

用于对象以及JSON数据的存储

高伸缩性的场景

大尺寸,低价值的数据存储

4.不适用的场景

要求高度事务性的系统

复杂多表的查询

二、win7安装

1.下载

下载地址:https://www.mongodb.com/download-center#community

MongoDB的简单学习1-安装

注意:安装过程中点击:"Custom(自定义)" 按钮来设置你的安装目录"

2.启动

新建立一个文件夹db:D:\softhan\mongodb\data\db 用于存放我们的MongoDB数据。

cmd到安装目录下,比如我的是:D:\programhan\mongodb\Server\3.6\bin

启动MongDB: mongod --dbpath D:\softhan\mongodb\data\db

 

加入日志的启动:

建立一个日志文件,比如我放在: D:\softhan\mongodb\data\log\mongodb.log

启动:

mongod --dbpath D:\softhan\mongodb\data\db --logpath D:\softhan\mongodb\data\log\mongodb.log

 

每次使用都手动启动比较麻烦,加入到windows的Services服务中:

mongod --dbpath "D:\softhan\mongodb\data\db" --logpath "D:\softhan\mongodb\data\log\mongodb.log" --install

这样每次只需要启动服务就行了!根据情况确定是否要开机启动!services.msc

启动成功的标志:

在浏览器下打开:http://localhost:27017/,如果出现下图效果则说明服务已经启动成功: 
MongoDB的简单学习1-安装

三、Linux安装

1.下载

下载地址:https://www.mongodb.com/download-center?jmp=nav#community

MongoDB的简单学习1-安装

我用的是Centos7,Centos是红帽操作系统的开源分支。安装RHEL 7 Linux 64-bit x64这个版本即可。

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.6.4.tgz

你可以通过上面的方式直接下载,或通过官网下载!

我解压后,并修改名字,放到/usr/local/mongodb

2.启动

#解压
tar -zxvf mongodb-linux-x86_64-rhel70-3.6.4.tgz
#改名
mv mongodb-linux-x86_64-rhel70-3.6.4 mongodb
#建立存储位置和日志位置
cd mongodb
mkdir db
mkdir logs
cd logs
touch mongodb.log

#启动方式1:
/usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/db/ --logpath=/usr/local/mongodb/logs/mongodb.log --fork



启动成功后,查看:

MongoDB的简单学习1-安装

#启动方式2:
#建立conf文件
mkdir conf
cd conf
touch mongodb.conf

#这是mongodb.conf内容
dbpath=/usr/local/mongodb/db
logpath=/usr/local/mongodb/logs/mongodb.log
port=27017
fork=true

启动命令:

/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/conf/mongodb.conf

MongoDB的简单学习1-安装

3.关闭

建议用pkill mongodkillall mongd  ,而不建议用kill -9 进程号,因为这样再也起不来Mongod了,此时需要去db中删掉mongod.lock 。

4.开机启动

vi /etc/rc.d/rc.local
#添加mongodb的开机启动
/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/conf/mongodb.conf

问题:开机启动无效!!!

执行>ll /etc/rc.local命令,发现/etc/rc.local映射文件是/etc/rc.d/rc.local

ll /etc/rc.d/rc.local发现这个文件没有执行权限(少了x);

其实vi  /etc/rc.local有这样一段话

# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure

# that this script will be executed during boot.

所以执行chome +x  /etc/rc.d/rc.local命令后,启动可以执行这个文件了。

但是还有一个问题,需要保证rc.local文件里面执行的脚本都是可执行的,否则依然无效。

 

参考:

https://www.cnblogs.com/xll1025/p/6443786.html

https://www.cnblogs.com/wyhlightstar/p/6271251.html

https://www.cnblogs.com/weiweictgu/p/5517717.html

转载于:https://my.oschina.net/hanchao/blog/1815286