MongoDB的简单学习1-安装

1、简单了解

1.NoSQL简介

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

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

 

2.MongoDB简介

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

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

面向集合(Collenction-Orented)mongodb

意思是数据被分组存储在数据集中被称为一个集合(Collenction) 。每一个集合在数据库中都有一个惟一的标识名,而且能够包含无限数目的文档。集合概念相似关系型数据库中的,不一样的是它不须要定义任何模式。数据库

模式自由(schema-free)windows

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

{“name”:"hanchao"}浏览器

{"age":"30"}缓存

文档型(documents)

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

3.特性

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

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

模式自由

支持动态查询

支持彻底索引,包含内部对象

支持复制和故障恢复

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

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

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

4.适用场景

持久化缓存层

高效的实时性

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

高伸缩性的场景

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

4.不适用的场景

要求高度事务性的系统

复杂多表的查询

2、win7安装

1.下载

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

注意:安装过程当中点击:"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/,若是出现下图效果则说明服务已经启动成功: 

3、Linux安装

1.下载

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

我用的是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

启动成功后,查看:

#启动方式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

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

http://www.javashuo.com/article/p-przptlni-cq.html

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

相关文章
相关标签/搜索