MongoDB零基础入门到高级进阶-尚学堂

一、MongoDB简介

1、什么是MongoDB

MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

2、什么是NoSQL

NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。NoSQL的拥护者们提倡运用非关系型的数据存储,相对于铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。

NoSQL是否能代替关系型数据库?

现在还不能,关系型数据库用于数据的持久化,而NoSQL主要用户数据的检索

3、NoSQL数据库的分类

3.1 键值(Key-Value)存储数据库

这一类数据库主要会使用到一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。Key/value模型对于IT系统来说的优势在于简单、易部署。但是如果DBA只对部分值进行查询或更新的时候,Key/value就显得效率低下了。举例如redis

3.2 列存储数据库

这部分数据库通常是用来应对分布式存储的海量数据。键仍然存在,但是它们的特点是指向了多个列。这些列是由列家族来安排的。如:Cassandra, HBase, Riak。

3.3 文档型数据库

3.4 图形数据库

二、MongoDB与关系型数据库的对比

1、MongoDB与关系型数据库的术语对比

clipboard

2、数据存储对比

clipboard

3、RDBMS 与 MongoDB对应的术语

RDBMS :related database management system

clipboard

三、MongoDB的数据类型

clipboard

四、MongoDB的下载和安装

1、下载MongoDB

下载地址:MongoDB Community Download | MongoDB

2、安装MongoDB

1)上传 MongoDB安装包到linux系统中 /home/leyou文件夹下

clipboard

2)解压缩

tar -xvf mongodb-linux-x86_64-rhel70-4.0.25.tgz

3)将解压后的mongoDB目录移动到 /opt目录中并改名为 mongodb

mv mongodb-linux-x86_64-rhel70-4.0.25 /opt/mongodb

clipboard

4)创建数据存储目录

MongoDB的数据可以通过配置存储在任意目录下,在案例中存储在$MongoDB_HOME/data/db目录中,这个目录需要手动创建

mkdir -p /opt/mongodb/data/db/

5)创建日志存储目录

MongoDB的日志数据可以通过配置存储在任意目录下,在案例中存储在$MongoDB_HOME/logs目录中,且日志文件名为mongodb.logs。这个目录和日志文件需要手工创建

mkdir -p /opt/mongodb/logs/

touch /opt/mongodb/logs/mongodb.log

clipboard

至此,MongoDB安装成功

3、MongoDB的启动

1) MongoDB的启动方式分为两种

①、前置启动

②、后置启动

前置启动:

MongoDB的默认启动方式为前置启动。所谓前置启动就是MongoDB启动进程后会占用当前终端窗口

命令为:/opt/mongodb/bin/mongod --dbpath /opt/mongodb/data/db/

后置启动

所谓后置启动就是以守护进程的方式启动MongoDB。命令中的fork就是开启子进程。

命令为:

/opt/mongodb/bin/mongod --dbpath /opt/mongodb/data/db/ --logpath /opt/mongodb/logs/mongodb.log –fork

配置启动

命令启动并不适合管理,毕竟每次输入命令都需要考虑各参数的配置。可以通过配置文件来配置启动参数,这样在管理MongoDB上比较方便

①、编辑配置文件

mkdir /opt/mongodb/etc/

vi /opt/mongodb/etc/mongodb.conf

dbpath=/opt/mongodb/data/db/

logpath=/opt/mongodb/logs/mongodb.log

logappend=true

bind_ip_all=true

port=27017

fork=true

port是端口,27017即默认的MongoDB端口号。

bind_ip_all是绑定所有IP,即所有客户端都可以访问

②、启动

/opt/mongodb/bin/mongod --config /opt/mongodb/etc/mongodb.conf

或者

/opt/mongodb/bin/mongod -f /opt/mongodb/etc/mongodb.conf

4、MongoDB关闭

1)前置启动关闭,使用 ctrl+C

如果我们的启动方式是前置启动,那么直接使用快捷键ctrl+c就可以关闭mongoDB。这种关闭方式会等待当前进行中的操作完成,所以是安全的关闭方式

2)使用kill命令关闭

我们可以通过Linux的kill命令结束mongoDB进程,然后删除data/db目录中的mongod.lock文件,否则下次无法启动,但是此方法不建议使用,因为会造成数据损坏现象

3)使用mongoDB的函数关闭

连接到MongoDB服务后,切换到admin库,并使用命令关闭服务。

use admin

db.shutdownServer()

db.runCommand(“shutdown”)

4)使用mongod的命令关闭

mongod --shutdown --dbpath <path>

mongod命令的shutdown选项能安全的关闭 MongoDB服务

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为什么会这样[user_mongo@nosql01 replicaset]$ cd /opt [user_mongo@nosql01 opt]$ ll total 0 drwxr-xr-x. 3 root root 25 Mar 16 17:08 servers drwxr-xr-x. 2 root root 51 Mar 16 17:10 software [user_mongo@nosql01 opt]$ tar -zxvf /opt/software/mongodb-linux-x86_64-rhel70-4.4.12.tgz -C /opt/servers/mongodb_demo/replicaset/ mongodb-linux-x86_64-rhel70-4.4.12/LICENSE-Community.txt tar: mongodb-linux-x86_64-rhel70-4.4.12: Cannot mkdir: Permission denied tar: mongodb-linux-x86_64-rhel70-4.4.12/LICENSE-Community.txt: Cannot open: No such file or directory mongodb-linux-x86_64-rhel70-4.4.12/MPL-2 tar: mongodb-linux-x86_64-rhel70-4.4.12: Cannot mkdir: Permission denied tar: mongodb-linux-x86_64-rhel70-4.4.12/MPL-2: Cannot open: No such file or directory mongodb-linux-x86_64-rhel70-4.4.12/README tar: mongodb-linux-x86_64-rhel70-4.4.12: Cannot mkdir: Permission denied tar: mongodb-linux-x86_64-rhel70-4.4.12/README: Cannot open: No such file or directory mongodb-linux-x86_64-rhel70-4.4.12/THIRD-PARTY-NOTICES tar: mongodb-linux-x86_64-rhel70-4.4.12: Cannot mkdir: Permission denied tar: mongodb-linux-x86_64-rhel70-4.4.12/THIRD-PARTY-NOTICES: Cannot open: No such file or directory mongodb-linux-x86_64-rhel70-4.4.12/bin/install_compass tar: mongodb-linux-x86_64-rhel70-4.4.12: Cannot mkdir: Permission denied tar: mongodb-linux-x86_64-rhel70-4.4.12/bin/install_compass: Cannot open: No such file or directory mongodb-linux-x86_64-rhel70-4.4.12/bin/mongo tar: mongodb-linux-x86_64-rhel70-4.4.12: Cannot mkdir: Permission denied tar: mongodb-linux-x86_64-rhel70-4.4.12/bin/mongo: Cannot open: No such file or directory mongodb-linux-x86_64-rhel70-4.4.12/bin/mongod tar: mongodb-linux-x86_64-rhel70-4.4.12: Cannot mkdir: Permission denied tar: mongodb-linux-x86_64-rhel70-4.4.12/bin/mongod: Cannot open: No such file or directory mongodb-linux-x86_64-rhel70-4.4.12/bin/mongos tar: mongodb-linux-x86_64-rhel70-4.4.12: Cannot mkdir: Permission denied tar: mongodb-linux-x86_64-rhel70-4.4.12/bin/mongos: Cannot open: No such file or directory tar: Exiting with failure status due to previous errors [user_mongo@nosql01 opt]$ tar -zcvf /opt/software/mongodb-linux-x86_64-rhel70-4.4.12.tgz -C /opt/servers/mongodb_demo/replicaset/ tar: Cowardly refusing to create an empty archive Try `tar --help' or `tar --usage' for more information.
06-01

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值