话不多说开始了!

安装

  安装就依据菜鸟教程的进行安装 传送门 => https://www.runoob.com/mongodb/mongodb-linux-install.html

  好啦!现在你应该已经安装完毕了,你应该也可以在小黑框进行CURD(增删改查)了吧!

  安装是安装好了,这时候你有没有赶脚怪怪的?

  mongodb难道直接输入 mongo 就开始使用?

  难道就没有用户名密码吗?

  答案是当然有了,你在链接mongo的时候有没有发现这一句话 => Server has startup warnings:

  这就是权限的问题 也就是你在开启mongod服务的时候没有开启 auth 的模式

  这时候就要杀死当前的mongod的进程

  如果没有的话就自己编写一个

vim mongodb.conf

dbpath=/www/server/mongodb/data
logpath=/www/server/mongodb/log/mongodb.log
logappend=true
port=27017
fork=true
#auth=true 这个必须在你设置好角色后在进行开启(因为如果你没有直接开启这个而没有用户你会非常尴尬,只能看着而不能进行操作)(初学的话最好设置一个root角色)

也就是先不要开启 然后添加一个use test库设置一个root权限(最nb的权限)
然后kill mongod的进程id 然后取消auth的#注释
然后使用./mongod -f mongodb.conf 重新安装配置文件开启mongod服务

    如果你想了解配置文件各个参数的问题 可以去这里 传送门=>  https://www.cnblogs.com/zhoujinyi/p/3130231.html

  如果你不会设置用户权限可以去这里讲的这两个都很详细 传送门=> https://www.cnblogs.com/henuadtc/p/3814928.html    https://www.cnblogs.com/xiaoqian1993/p/5944039.html

  把上面讲的都操作过了那么基本的mongodb的使用你就了解了。

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

  *面向集合存储,易存储对象类型的数据。
  *模式自由。
  *支持动态查询
  *支持完全索引,包含内部对象。
  *支持查询。
  *支持复制和故障恢复。
  *使用高效的二进制数据存储,包括大型对象(如视频等)。
  *自动处理碎片,以支持云计算层次的扩展性。
  *支持RUBYPYTHONJAVAC++PHPC#等多种语言。
  *文件存储格式为BSON(一种JSON的扩展)。
  *可通过网络访问。

了解MongoDB

  首先,我来告诉你一些MongoDB与传统的Mysql的区别吧!

  Mysql:

    1.关系型数据库。

    2.在不同的引擎上有不同 的存储方式。

    3.查询语句是使用传统的sql语句,拥有较为成熟的体系,成熟度很高。

    4.开源数据库的份额在不断增加,mysql的份额页在持续增长。

    5.缺点就是在海量数据处理的时候效率会显著变慢。

  MongoDB:

    1.非关系型数据库(nosql ),属于文档型数据库。先解释一下文档的数据库,即可以存放xml、json、bson类型系那个的数据。这些数据具备自述性(self-describing),呈现分层的树状数据结构。数据结构由键值(key=>value)对组成。

    2.存储方式:虚拟内存+持久化。

    3.查询语句:是独特的Mongodb的查询方式。

    4.适合场景:事件的记录,内容管理或者博客平台等等。

    5.架构特点:可以通过副本集,以及分片来实现高可用。

    6.数据处理:数据是存储在硬盘上的,只不过需要经常读取的数据会被加载到内存中,将数据存储在物理内存中,从而达到高速读写(直接读写内存)。

    7.成熟度与广泛度:新兴数据库,成熟度较低,Nosql数据库中最为接近关系型数据库,比较完善的DB之一,适用人群不断在增长。

    优势:

      1).快速!在适量级的内存的Mongodb的性能是非常迅速的,它将热数据存储在物理内存中,使得热数据的读写变得十分快,

      2).高扩展!

      3).自身的Failover机制!

      4).json的存储格式!

Mysql和MongoDB的应用场景

  • 如果需要将mongodb作为后端db来代替mysql使用,即这里mysql与mongodb 属于平行级别,那么,这样的使用可能有以下几种情况的考量: (1)mongodb所负责部分以文档形式存储,能够有较好的代码亲和性,json格式的直接写入方便。(如日志之类) (2)从data models设计阶段就将原子性考虑于其中,无需事务之类的辅助。开发用如nodejs之类的语言来进行开发,对开发比较方便。 (3)mongodb本身的failover机制,无需使用如MHA之类的方式实现。

  • 将mongodb作为类似redis ,memcache来做缓存db,为mysql提供服务,或是后端日志收集分析。 考虑到mongodb属于nosql型数据库,sql语句与数据结构不如mysql那么亲和 ,也会有很多时候将mongodb做为辅助mysql而使用的类redis memcache 之类的缓存db来使用。 亦或是仅作日志收集分析。

linux + MongoDB 安装 + 部署 + 讲解 (满满干货看完记得收藏噢)的更多相关文章

  1. 怎么在linux上安装部署jenkins

    怎么在linux上安装部署jenkins 作为一个非科班出身自学的小白,踩过很多的坑,特此留下记录 以下在虚拟机上示例 系统:linux(centos7) 操作方式:xshell连接终端操作 教程之前 ...

  2. linux下安装部署ansible

    linux下安装部署ansible 介绍 Ansible是一种批量部署工具,现在运维人员用的最多的三种开源集中化管理工具有:puppet,saltstack,ansible,各有各的优缺点,其中sal ...

  3. Kibana在Linux上安装部署及使用说明

    Kibana安装及使用说明 Kibana是一个针对Elasticsearch的开源分析及可视化平台,用来搜索.查看交互存储在Elasticsearch索引中的数据. 官方地址:https://www. ...

  4. asp.net core2.1 部署centos7/linux系统 -- 安装部署(一)

    原文:asp.net core2.1 部署centos7/linux系统 -- 安装部署(一) 1.安装dotnet sdk(添加产品秘钥与yum源) 添加yum源:sudo rpm -Uvh htt ...

  5. MongoDB安装部署(一)

    前言 MongoDB是一个由C++语言编写的基于分布式文件存储的数据库,是当前NoSQL数据库中比较热门的一种,旨在为Web应用提供可扩展的高性能数据存储解决方案. MongoDB 简介 MongoD ...

  6. MongoDB C Driver and APIinstances linux MongoDB安装配置

    <一,linux平台MongoDB安装配置>在这我们使用的Centos6 yum部署的,你想搞编译,自个干!

  7. Linux下安装部署Samba共享盘的操作手册

    简述 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的 ...

  8. Linux Tomcat安装部署项目

    一.上传Tomcat服务器

  9. 快速掌握mongoDB(一)——mongoDB安装部署和常用shell命令

    1.mongoDB简介 mongoDB 是由C++语言编写的,是一种分布式的面向文档存储的开源nosql数据库.nosql是Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统 ...

随机推荐

  1. PropertySheet外壳扩展AppWizard

    下载source files - 39 Kb 下载Wizard - 17 Kb 本文旨在简化属性表外壳扩展的实现.它紧接我的第一篇文章 处理上下文菜单壳扩展和灵感 由Michael Dunn最优秀的系 ...

  2. try with resource当中你没有注意到点。。

    怎么使用try with resource语法 在 JDK 9 中更简洁使用 try-with-resources 语句 try with resource当中你没有注意到点 try with res ...

  3. Python数据类型--集合(set)

    Python的集合是无序.可迭代的容器对象,所有元素放在一对大括号中{},元素之间使用逗号隔开,同一集合内的元素具有唯一性,不允许重复. 集合中只能包含数字.字符串.元组等不可变类型的数据,不能包含列 ...

  4. nullptr解决了什么问题

    从0到NULL 在C++的世界中字面值0用来表示空指针,所以0可以当作所有指针类型的字面值.为了让语义更明确引入了NULL宏定义: #undef NULL #ifdef __cplusplus #de ...

  5. 好用的C语言编程软件!工具都没有,怎么用技术改变世界呢!

    好用的C语言编程软件 1.VS(Visual Studio)   VS(Visual Studio) VS是目前最流行的windows平台应用程序的集成开发环境,由于大部分同学使用的都是Windows ...

  6. 【换根DP】小奇的仓库

    题目背景 小奇采的矿实在太多了,它准备在喵星系建个矿石仓库.令它无语的是,喵星系的货运飞船引擎还停留在上元时代! 题目内容 喵星系有\(n\)个星球,星球以及星球间的航线形成一棵树. 从星球\(a\) ...

  7. laravel job 队列

    1.数据库建表 php artisan queue:table<span> </span>//队列任务表 php artisan queue:failed-table<s ...

  8. 第七章 HTTP协议原理

    一.HTTP协议概述 1.什么是HTTP? HTTP 全称:Hyper Text Transfer Protocol 中文名:超文本传输协议 http就是将用户的请求发送到服务器,将服务器请求到的内容 ...

  9. Linux命令之Hash缓存表

    Hash缓存表 系统初始hash表为空,当外部命令执行时,默认会从PATH路径下寻找该命令,找到后会将这条命令的路径记录到hash表中,当再次使用该命令时,shell解释器首先会查看hash表,存在将 ...

  10. Git操作文件的时候手贱了,怎么恢复?

    我们在使用git的过程当中很难避免的一点就是手贱,因为人嘛总有犯错疏忽的时候,有时候一不小心就操作错了.我也经常遇到这种情况,所以这时候对git的了解和掌握就非常重要,即使操作错了,我们也可以通过gi ...