MongoDB数据库部署环境准备及使用介绍

目录
  • 一、MongoDB 简介
    • 1.MongoDB 特点
    • 2.MongoDB 适用场景
    • 3.MongoDB 存储结构
    • 4.MongoDB 数据类型
  • 二、部署 MongoDB 数据库应用
    • 1.准备系统环境
    • 2.安装 MongoDB
    • 3.创建 MongoDB 存储目录以及配置文件
    • 4.编写服务启动脚本

一、MongoDB 简介

MongoDB 是由 C++ 语言编写的,是一个基于分布式文件存储的非关系型开源数据库系统。其优势在于可以存放海量数据,具备强大的查询功能,是一个独立的面向集合文档形式的。

应用平台:MongoDB 支持 Unix Linux Windows 等系统平台。

MySQL 与 MongoDB 区别:

MySQL 数据库 数据表 数据
MongDB 数据库 集合 文档

1.MongoDB 特点

存储性:

面向集合:数据被分组存储在数据集中,被称为一个集合。

面向文档:存储在集合中的文档,被存储为键值对的形式。

高效二进制数据存储:使用二进制格式存储,可以保存任何类型的数据对象。

操作性:

完全索引:可以在任意属性上建立索引,包含内部对象。以提高查询的速度。

强大的聚合工具:MongoDB 除了提供丰富的查询功能外,还提供了强大的聚合工具,如 count group 等。

支持 Perl PHP Java C# JavaScript Ruby Python CC++ 语言的驱动程序。

可用性:

支持复制和数据恢复:MongoDB 支持主从复制机制,可以实现数据的备份、故障恢复、读扩展等功能。而基于副本集的复制机制提供了自动故障恢复的功能,确保了集群数据不会丢失。

自动处理分片:MongoDB 支持集群自动切分数据,对数据进行切分可以使用集群存储更多的数据,实现更大的负载,也能保证存储的负载均衡。

2.MongoDB 适用场景

网站实时数据处理:它非常适合实时的插入、更新与查询,并具备网站实时数据存储所需的复制及高伸缩性。

缓存:它适合作为信息基础设施的缓存层。在系统重启之后,由它搭建的持久化缓存层可以避免下层的数据源过载。

高伸缩性的场景:非常适合由数十台或数百台服务器组成的数据库。

不适用于的场景如下:

要求高度事务性的系统(例如:银行和会计系统)传统的商业只能应用。复杂的跨文档(表)级联查询。

3.MongoDB 存储结构

逻辑结构:

文档 document:存放的数据。

集合 collection:由多个文档组成,相当于表,但不同的是集合是无固定架构。

数据库 database:多个集合组成的数据库。

物理结构:

.wt 文件:每个表或索引对应一个命名空间,数据量增加,文件数量增多,存储了分配和正在使用的磁盘空间。

数据文件:存放数据的实体,并且使用预分配空间机制。

日志文件:系统日志文件、journal 日志文件(用于 MongoDB 崩溃恢复的保障)、oplog 复制操作日志文件(相当于 MySQL 的 BinLog 文件)、慢查询日志(查询操作超出指定时间的语句)

物理结构就是真正存放数据的位置。

4.MongoDB 数据类型

二、部署 MongoDB 数据库应用

主机名 操作系统 IP 地址 版本
MongoDB CentOS 7.4 192.168.1.1 mongodb-linux-x86_64-rhel70-4.4.5.tgz

1.准备系统环境

[root@MongoDB ~]# ulimit -n 25000									# 同一时间最多开启的文件数
[root@MongoDB ~]# ulimit -u 25000									# 用户最多开启的程序数目
[root@MongoDB ~]# echo 0 > /proc/sys/vm/zone_reclaim_mode			# 设置内核参数. 当某个节点内存不足时可以借用其它节点的内存
[root@MongoDB ~]# sysctl -w vm.zone_reclaim_mode=0
vm.zone_reclaim_mode = 0
[root@MongoDB ~]# echo never > /sys/kernel/mm/transparent_hugepage/enabled
[root@MongoDB ~]# echo never > /sys/kernel/mm/transparent_hugepage/defrag

因为下面安装的版本为 4.4.5,而 MongoDB 4 版本以上的 /bin 目录中的工具进行了分离,所以需要安装:传送门

[root@MongoDB ~]# tar xf mongodb-database-tools-rhel70-x86_64-100.3.1.tgz

2.安装 MongoDB

[root@MongoDB ~]# wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.4.5.tgz
[root@MongoDB ~]# tar xf mongodb-linux-x86_64-rhel70-4.4.5.tgz
[root@MongoDB ~]# mv mongodb-linux-x86_64-rhel70-4.4.5 /usr/local/mongodb
[root@MongoDB ~]# mv mongodb-database-tools-rhel70-x86_64-100.3.1/bin/* /usr/local/mongodb/bin/
[root@MongoDB ~]# echo "export PATH=/usr/local/mongodb/bin:\$PATH" >> /etc/profile
[root@MongoDB ~]# source /etc/profile

3.创建 MongoDB 存储目录以及配置文件

[root@MongoDB ~]# mkdir /usr/local/mongodb/{data,logs,conf}
[root@MongoDB ~]# touch /usr/local/mongodb/logs/mongodb.log
[root@MongoDB ~]# chmod 777 /usr/local/mongodb/logs/mongodb.log
[root@MongoDB ~]# cat <<END > /usr/local/mongodb/conf/mongodb.conf
bind_ip=192.168.1.1
port=27017
dbpath=/usr/local/mongodb/data/
logpath=/usr/local/mongodb/logs/mongodb.log
logappend=true																	# 日志以文件追加的方式写入
fork=true																		# 通过后台运行 MongoDB 服务
maxConns=5000																	# MongoDB 最大连接数
END

4.编写服务启动脚本

[root@MongoDB ~]# mongod -f /usr/local/mongodb/conf/mongodb.conf				# 启动 MongoDB 服务
[root@MongoDB ~]# mongo 192.168.1.1:27017										# 登录验证
[root@MongoDB ~]# mongod -f /usr/local/mongodb/conf/mongodb.conf --shutdown		# 关闭 MongoDB 服务
[root@MongoDB ~]# vim /etc/init.d/mongodb
#!/bin/bash
case "$1" in
start)
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb.conf;;
stop)
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb.conf --shutdown;;
restart)
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb.conf --shutdown
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb.conf;;
esac
[root@MongoDB ~]# chmod +x /etc/init.d/mongodb 									# 添加执行权限
[root@MongoDB ~]# /etc/init.d/mongodb start										# 启动

登录验证

[root@MongoDB ~]# mongo 192.168.1.1:27017										# 登录 MongoDB 数据库 (默认在 test 库中)
> show databases					# 查看数据库中所有库
admin   0.000GB
config  0.000GB
local   0.000GB
> db.getName()						# 查看当前登录库
test

MongoDB 安装完后的默认 4 个库:

admin:存放了有关数据库账号的相关信息。

config:用于分片集群环境,存放分片相关的元数据信息。

local:用于存储限于本地单台服务器的任意集合(因为该库并不会被复制到从节点,简单来说就是没有冗余性)

test:MongoDB 默认创建的一个测试库,连接 MongoDB 服务时,如果不指定连接的具体数据库,默认就会连接到 test 库。

以上就是MongoDB数据库部署环境准备及使用介绍的详细内容,更多关于MongoDB数据库部署环境准备的资料请关注我们其它相关文章!

(0)

相关推荐

  • MongoDB中的bson介绍和使用实例

    一.什么是bson BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON,它和JSON一样,支持内嵌的文档对象和数组对象,但是BSON有JSON没有的一些数据类型,如Date和BinData类型. BSON可以做为网络数据交换的一种存储形式,这个有点类似于Google的Protocol Buffer,但是BSON是一种schema-less的存储形式,它的优点是灵活性高,但它的缺点是空间利用率不是很理想,BSON有三个特点:轻量性.可遍历性.高效性, {"hello&q

  • MongoDB基础命令以及操作示例详解

    前言 Mongodb是一个非关系型数据库软件(NoSql),以类似json的形式bson存储数据,bson有二进制的json的意思,官方说bson的效率更高,很适合存储类似于对象的数据,这里权当把自己学习的过程记录下来. 关于MongoDB的安装方法给大家推荐下面这几篇文章: 1.Linux下安装MongoDB的实现步骤 2.window下安装配置mongodb的教程图解 3.Mac中mongoDB的安装与卸载步骤详解 好了,下面开始本文的正文: MongoDB:NoSQL数据库 MongoDB

  • MongoDB 查询操作的实例详解

    MongoDB 查询操作的实例详解 使用find或findOne进行查询.并可以进行范围查询.数据集查询.不等式查询,以及其他的一些查询. 查询将会返回DBcursor 游标只有在你需要的时候返回文档 针对游标返回的文档(结果集) 进行操作 例如:忽略一定数量的结果,或者返回结果的数量,以及对结果的排序. 1.指定需要返回的键 有时候仅仅对文档的某几个键值感兴趣,可以屏蔽返回的不感兴趣的键值,返回感兴趣的键值 mongos> db.blog.find({},{"name":1})

  • MongoDB的基础知识简介

    1.文档.集合和数据库 a).文档:因为MongoDB是面向文档的数据库,那么可想而知文档是它的基本单元,相当于关系型数据库中的行! Ⅰ.它是由键值对组成的一个有序集:注:键不能为空且是字符串类型的. Ⅱ.它不仅区分大小写,而且还区分数据类型: Ⅲ..和$符号具有特殊意义,需要在特定环境中使用: b).集合:同样的,多个文档汇聚在一起就是一个集合,但是这些文档可以是不同的结构模式,组合在一起就相当于关系型数据库中的表! Ⅰ.同样命名不能为空,不能以system开头,且不能使用保留字符$: Ⅱ.动

  • MongoDB数据库部署环境准备及使用介绍

    目录 一.MongoDB 简介 1.MongoDB 特点 2.MongoDB 适用场景 3.MongoDB 存储结构 4.MongoDB 数据类型 二.部署 MongoDB 数据库应用 1.准备系统环境 2.安装 MongoDB 3.创建 MongoDB 存储目录以及配置文件 4.编写服务启动脚本 一.MongoDB 简介 MongoDB 是由 C++ 语言编写的,是一个基于分布式文件存储的非关系型开源数据库系统.其优势在于可以存放海量数据,具备强大的查询功能,是一个独立的面向集合文档形式的.

  • mongodb数据库迁移变更的解决方案

    目录 前言 使用 安装 简单使用 后续 前言 在版本迭代过程中,存在数据库变更的几率,如增加某张表某个字段,删除某个字段等:​ 缺乏变更历史的记录,要么在升级多套不同版本环境时,需要耗费大量时间去寻找数据库变更记录以及执行脚本: ​ 该方案提供一种数据库变更记录方式: ​ 使用到开源库:migrate, 目前已经支持多种不同类型数据库(可视化目前使用的为mongodb,已经支持): 使用 ​ migrate提供两种方式进行变更操作:1. 命令行方式  2. SDK方式(使用Go) ​ 在本方案中

  • 在Linux上搭建一个Java部署环境的详细步骤

    目录 在Linux上搭建一个Java部署环境 1. 安装jdk 2.操作步骤: 3. 安装mysql 小结 上篇介绍了如何在 Linux 上搭建 java 部署环境(安装jdk/tomcat/mysql) + 将程序部署到云服务器上的操作). 在Linux上搭建一个Java部署环境 为了部署java web程序,需要安装:jdk.tomcat.mysql.(注意:所有的安装yum都需要管理员权限) 1. 安装jdk 安装jdk有很多种方式,但是我们这里推荐的是使用yum直接安装openjdk.

  • Pycharm连接MongoDB数据库安装教程详解

    下载Pycharm最新版本 Pycharm链接: 安装教程 下载MongoDB最新版本 MongoDB下载地址 MongoDB安装教程 下载Mongo Plugin插件 最新版本的Pycharm搜不到Plugin插件,自己手动下载 Mongo Plugin插件下载地址 我把它放在了MongoDB的安装路径下 安装教程参考 安装完成 下一节开始试用. 到此这篇关于Pycharm连接MongoDB数据库安装教程的文章就介绍到这了,更多相关Pycharm连接MongoDB内容请搜索我们以前的文章或继续

  • 关于mongoDB数据库添加账号的问题

    1. 以管理员运行powershell 2. mongo 连接服务器 (需要开启服务器) // 开启mongodb 服务 net start mongodb // 连接数据库 mongo 3. 查看数据库(显示结果如图示) show dbs 4. 创建管理员账户 先选择到admin DBS use admin db.createUser({user: 'xxx', pwd: '123456', roles: ['root']}) 5. 创建普通账号(只有读写权限) 选择到需要分配权限的 DBS

  • MongoDB数据库权限管理详解

    前几天网友问MongoDB数据库权限方面的问题.当时大致的了解了一下,这周仔细了解了一下.对于一个数据库不可能随意的访问,肯定要有写访问限制. 在了解这个之前首先熟悉下shell客户端.打开shell客户端的方法:mongo.关闭数据库引擎的话可以使用db.shutdownServer(). 一.shell命令 MongoDB的shell提供了一些命令,可以从shell提示符执行它们. help<option>:用于为MongoDB的shell命令显示语法帮助.option参数允许指定你想得到

  • MongoDB数据库索引用法详解

    一.索引详讲 索引是什么,索引就好比一本书的目录,当我们想找某一章节的时候,通过书籍的目录可以很快的找到,所以适当的加入索引可以提高我们查询的数据的速度. 准备工作,向MongoDB中插入20000条记录,没条记录都有number和name > for(var i = 0 ; i<200000 ;i++){ ... db.books.insert({number:i,name:"book"+i}) ... } WriteResult({ "nInserted&qu

  • Mongodb在Linux环境下的部署

    Mongodb这个文档型非关系型数据库,可以说它是最像关系型的了,之前大叔主要讲如何使用mongodb,而没有说过如何去部署和安装它,而今天大叔有必要讲一下,如何在linux环境下去部署这个mongodb,下面请跟我来! 一 wget下面安装包 # wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-amazon-3.4.2.tgz 二 tar解压方案包 tar xzy tar xzf redis-3.2.8.tar.gz 三 添

  • MongoDB数据库安装部署及警告优化

    目录 1.软件下载 2.部署MongoDB 2.1.规划部署目录 2.2.下载软件包 2.3.安装MongoDB 2.4.MongoDB配置文件介绍 2.5.编写MongoDB配置文件 2.6.启动MongoDB 2.7.如何关闭MongoDB 2.8.登录MongoDB 3.优化MongoDB警告信息 3.1.优化启动用户警告 3.2.优化大内存页警告 3.2.1.永久关闭大内存页 3.2.2.临时关闭大内存页 3.3.优化limit警告 1.软件下载 3.6.13版本:https://fas

  • 2021最新版windows10系统MongoDB数据库安装及配置环境

    一. MongoDB的下载与安装 1.1 下载地址 https://www.mongodb.com/download-center/community?jmp=docs 1.2 安装 创建一个 mongodb文件夹 存放下载好的 zip 二. 配置环境 鼠标右击选择计算机->属性 如下图,我们在新建中输入自己安装的MongoDB的bin文件夹路径然后选择确定即可! 输入命令就可以查看mongoDB的版本了 mongo -version 三. 配置系统服务 在MongoDB解压目录(bin文件同级

随机推荐