广告
返回顶部
首页 > 资讯 > 数据库 >NoSQL之mongodb
  • 379
分享到

NoSQL之mongodb

2024-04-02 19:04:59 379人浏览 独家记忆
摘要

NoSQL(Nosql = Not Only SQL ),意即"不仅仅是SQL"。指的是非关系型的数据库,是对不同于传统的关系型数据库的数据库管理系统的统称。NoSQL用于超大规模数据的存储。这些类型的数据

NoSQL(Nosql = Not Only SQL ),意即"不仅仅是SQL"。

指的是非关系型的数据库,是对不同于传统的关系型数据库的数据库管理系统的统称。

NoSQL用于超大规模数据的存储。这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。


回顾一下关系型数据库遵循ACID规则:

事务transaction,和现实世界中的交易很类似,它有如下四个特性:

1、A (Atomicity) 原子性

原子性很容易理解,也就是说事务里的所有操作要么全部做完,要么都不做,事务成功的条件是事务里的所有操作都成功,只要有一个操作失败,整个事务就失败,需要回滚。

例如银行转账,从A账户转100元至B账户,分为两个步骤:1)从A账户取100元;2)存入100元至B账户。这两步要么一起完成,要么一起不完成,如果只完成第一步,第二步失败,钱会莫名其妙少了100元。

2、C (Consistency) 一致性

一致性也比较容易理解,也就是说数据库要一直处于一致的状态,事务的运行不会改变数据库原本的一致性约束。

例如现有完整性约束a+b=10,如果一个事务改变了a,那么必须得改变b,使得事务结束后依然满足a+b=10,否则事务失败。

3、I (Isolation) 独立性

所谓的独立性是指并发的事务之间不会互相影响,如果一个事务要访问的数据正在被另外一个事务修改,只要另外一个事务未提交,它所访问的数据就不受未提交事务的影响。

例如现有有个交易是从A账户转100元至B账户,在这个交易还未完成的情况下,如果此时B查询自己的账户,是看不到新增加的100元的。

4、D (Durability) 持久性

持久性是指一旦事务提交后,它所做的修改将会永久的保存在数据库上,即使出现宕机也不会丢失。


两者的特性:

RDBMS 

- 高度组织化结构化数据 

- 结构化查询语言(SQL)

- 数据和关系都存储在单独的表中 

- 数据操作语言,数据定义语言 

- 严格的一致性

- 基础事务

NoSQL 

- 不仅仅是SQL

- 没有声明性查询语言

- 没有预定义的模式

- 键 - 值对存储,列存储,文档存储,图形数据库

- 最终一致性,而非ACID属性

- 非结构化和不可预知的数据

- CAP定理 

- 高性能,高可用性和可伸缩性



mongoDB 入门

一、安装配置:

1.下载安装包并解压到指定安装目录

mkdir /opt/soft/ && cd /opt/soft
curl -O https://fastdl.monGodb.org/linux/mongodb-linux-x86_64-3.4.9.tgz 
mkdir /opt/mongodb
tar zxvf mongodb-linux-x86_64-3.4.10.tgz
mv mongodb-linux-x86_64-3.4.10/* /opt/mongodb/

2.添加环境变量:

 MongoDB 的可执行文件位于 bin 目录下,所以可以将其添加到 PATH 路径中:

 echo "export PATH=/opt/mongodb/bin:$PATH">>/etc/profile && source /etc/profile

3.创建conf文件夹用于存放配置文件,创建data文件夹用于存放数据,创建logs文件用于存放文件,这些目录在安装过程不会自动创建,都要手动创建。

mkdir /opt/mongodb/conf
mkdir /opt/mongodb/data
mkdir /opt/mongodb/logs
touch /opt/mongodb/conf/mongodb.conf
touch /opt/mongodb/logs/mongod.log

4、编辑配置文件

vi /opt/mongodb/conf/mongodb.conf

dbpath = /opt/mongodb/data
logpath = /opt/mongodb/logs/mongod.log
pidfilepath = /opt/mongodb/mongo.pid
port = 27017
fork = true

5、MongoDB设置为系统服务并且设置开机启动

vi   /etc/init.d/mongod

#!/bin/sh  
#description: mongodb  
start() {
 /opt/mongodb/bin/mongod -f /opt/mongodb/conf/mongodb.conf
}
stop() {
 /opt/mongodb/bin/mongod -f /opt/mongodb/conf/mongodb.conf --shutdown
}
case "$1" in
  start)
 start
 ;;
  stop)
 stop
 ;;
  restart)
 stop
 start
 ;;
  *)
 echo $"Usage: $0 {start|stop|restart}"  
 exit 1
esac

chmod +x /etc/rc.d/init.d/mongod

6、启动

service mongod start

二、用户授权和管理

1、mongodb安装好后第一次进入是不需要密码的,也没有任何用户,通过shell命令可直接进入,cd到mongodb目录下的bin文件夹,执行命令./mongo即可

 ./mongo
 MongoDB shell version v3.4.9
 connecting to: mongodb://127.0.0.1:27017
 MongoDB server version: 3.4.9
 > show dbs
 admin  0.000GB
 local  0.000GB
 > use test
 switched to db test
 >

2、添加管理用户(mongoDB 没有无敌用户root,只有管理用户的用户 userAdminAnyDatabase) 

> use admin 
switched to db admin
> db.createUser({user:"admin",pwd:"123456",roles:[{role:"userAdminAnyDatabase",db:"admin"}]})

Successfully added user: {

        "user" : "admin",

        "roles" : [

                {

                        "role" : "userAdminAnyDatabase",

                        "db" : "admin"

                }

        ]

}


3、添加完管理用户后,关闭MongoDB,并使用权限方式再次开启MongoDB,这里注意不要使用kill直接去杀掉mongodb进程,(如果这样做了,请去data/db目录下删除mongo.lock文件),可以使用db.shutdownServer()关闭。


4、修改配置文件,开启密码验证登录

vi /opt/mongodb/conf/mongodb.conf

auth = true #开启
service mongod start

5、进入mongo shell,使用admin数据库并进行验证,如果不验证,是做不了任何操作的

> use admin
> db.auth("admin","123456")
1 #认证返回1表示成功
>

6、验证之后还是做不了操作,因为admin只有用户管理权限,下面创建用户,用户都跟着库走

> use mytest
switched to db mytest
> db.createUser({user: "root",pwd: "123456",roles: [{ role: "readWrite", db: "mytest" }]})

Successfully added user: {

        "user" : "root",

        "roles" : [

                {

                        "role" : "readWrite",

                        "db" : "mytest"

                }

        ]

}


7、使用创建的用户root登录进行数据库操作

[root@bj-WEB-001 ~]# mongo 127.0.0.1/mytest -uroot -p
MongoDB shell version v3.4.10
Enter passWord: 
connecting to: mongodb://127.0.0.1/mytest
MongoDB server version: 3.4.10
> db
mytest
> use mytest
switched to db mytest
> show collections
>
您可能感兴趣的文档:

--结束END--

本文标题: NoSQL之mongodb

本文链接: https://www.lsjlt.com/news/39817.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • NoSQL之mongodb
    NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL"。指的是非关系型的数据库,是对不同于传统的关系型数据库的数据库管理系统的统称。NoSQL用于超大规模数据的存储。这些类型的数据...
    99+
    2022-10-18
  • NoSql之Mongodb日常操作命令整理
    1、db.serverStatus()  看看分片性能信息db.serverStatus().connections;分片查看客户端连接数,mongod和mongos的连接属于长连接  ...
    99+
    2022-10-18
  • nosql之mongodb简单安装与命令使用
    nosql:非关系型,分布式,不提供ACID    简单数据模型    元数据和应用数据分离   ...
    99+
    2022-10-18
  • MongoDB(一):NoSQL简介、MongoDB简介
    1. NoSQL简介 1.1 什么是NoSQL NoSQL(NoSQL= Not Only SQL),意即“不仅仅是SQL",是一项全新的数据库理念,泛指非关系型的数据库。 1.2 为什么需要NoSQL 随着互联网web2.0网站的兴起,非...
    99+
    2019-07-31
    MongoDB(一):NoSQL简介 MongoDB简介
  • mongodb和NoSql的区别
    mongodb和NoSql的区别:两者没有什么区别可言,mongodb属于NoSql的一种,NoSql是指非关系型数据库的意思,而在mongodb是一个介于关系数据库和非关系数据库之间的产品,其中非关系数据库当中功能最丰富,因此mongod...
    99+
    2022-10-04
  • NoSQL与Memcached、Redis、MongoDB概述
    一、NoSQL介绍   非关系型数据库(而mysql、oracle、sqlserver都是关系型数据库)1. 特点数据之间无关系,随意扩展数据存储简单,可以存在内存中,读写速度快不需要建...
    99+
    2022-10-18
  • NoSql非关系型数据库之MongoDB应用(一):安装MongoDB服务 - 熊泽
    业精于勤,荒于嬉;行成于思,毁于随。 一、MongoDB服务下载安装(windows环境安装) 1.进入官网:https://www.mongodb.com/,点击右上角的 Try Free  ,   2.点击On-premise...
    99+
    2017-11-18
    NoSql非关系型数据库之MongoDB应用(一):安装MongoDB服务 - 熊泽
  • NoSQL之一:Memcached
    一、NoSQL简介        NoSQL并不是No SQL(不再需要SQL),而是指Not Only SQL(不仅仅只有SQL)。NoSQL并不是用来替代关系型数据库的,而是在某些使用关系型数据库不合适的场景中,可以使用NoS...
    99+
    2018-11-19
    NoSQL之一:Memcached
  • MongoDB客户端工具NoSQL Manager for MongoDB介绍
    目录一、安装二、连接客户端三、基本的日常操作1、shell2、日常数据增删改查① 可以在shell命令行执行。② 也可以直接通过GUI来实现。3、表复制① 数据库内复制表。② 跨数据...
    99+
    2022-11-13
  • MongoDB中如何使用NoSQL语句
    今天就跟大家聊聊有关MongoDB中如何使用NoSQL语句,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。查看帮忙命令>hlep &n...
    99+
    2022-10-18
  • NoSql非关系型数据库之MongoDB应用(二):安装MongoDB可视化工具 - 熊泽
    业精于勤,荒于嬉;行成于思,毁于随。   我们上次说到NoSql非关系型数据库之MongoDB应用(一):安装MongoDB服务 这次我们介绍安装  NoSQL Manager for MongoDB 可视化工具进行语句编写 可以点击...
    99+
    2014-06-04
    NoSql非关系型数据库之MongoDB应用(二):安装MongoDB可视化工具 - 熊泽
  • MongoDB客户端工具NoSQL Manager for MongoDB怎么使用
    这篇文章主要讲解了“MongoDB客户端工具NoSQL Manager for MongoDB怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MongoD...
    99+
    2023-07-02
  • NoSQL数据库一MongoDB基本使用
    如今的网站对数据存储要求越来越灵活,在这种需求下 NoSQL 也就是非关系数据库越来越流行。所谓非关系数据库,是指不使用 SQL 语言进行数据操作的数据库的统称。这类数据库存储数据时没有固定的模式,不支持数...
    99+
    2022-10-18
  • 57-1、2、3 NoSQL基础及MongoDB、Mongo
    02MongoDB基本应用配置环境:node1:192.168.1.121CentOS release 6.7[root@node1 ~]# cd mongodb-2.6.4/[root@node1 mon...
    99+
    2022-10-18
  • NoSql非关系型数据库之MongoDB应用(三):MongoDB在项目中的初步应用 - 熊泽
    业精于勤,荒于嬉;行成于思,毁于随。   我们可以结合相关的IDE做一个简单的增删改查了,实现MongoDB在项目中的初步应用。 前提是安装了MongoDB服务和MongoDB可视化工具,没有安装的可以点下面的路径去操作一下。 第一步...
    99+
    2018-06-10
    NoSql非关系型数据库之MongoDB应用(三):MongoDB在项目中的初步应用 - 熊泽
  • mongodb dba常用的nosql语句有哪些
    本篇文章给大家分享的是有关mongodb dba常用的nosql语句有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。查看帮忙命令>h...
    99+
    2022-10-18
  • NoSQL之redis(主从复制)
    1.redis主从复制的介绍:     持久化保证了即使redis服务器重启也不会丢失数据,因为redis服务器重启后将硬盘上持久化的数据恢复到内存中, 但是当redis服务器的硬盘损坏了可能会导致数据丢失...
    99+
    2022-10-18
  • NoSQL之redis(常用命令)
    keys           (1)介绍:返回满足条件的所有key,支持正则            (2)语法:keys key            (3)举例:                     ...
    99+
    2022-10-18
  • NoSQL之redis(Jedis连接 API)
    工程搭建:    (1)介绍:redis不仅使用命令可以操作,现在基本上主流的语言都有客户端支持,比如:java、C、C#、C++、php、Node.js、Go等。&...
    99+
    2022-10-18
  • NoSQL -- Mongodb 安装 使用 副本集 备份恢
    Mongodb 是由c++编写的基于分布式文件存储的开源数据库系统,介于关系数据库和非关系数据库之间,支持查询语言很强大。高负载情况下,添加多个节点保证服务器性能,旨在为web应用提供可扩展的高性能存储;m...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作