千家信息网

如何部署MongoDB数据库应用

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍了如何部署MongoDB数据库应用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何部署MongoDB数据库应用文章都会有所收获,下面我们一起来看看吧。一
千家信息网最后更新 2026年11月01日如何部署MongoDB数据库应用

这篇文章主要介绍了如何部署MongoDB数据库应用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何部署MongoDB数据库应用文章都会有所收获,下面我们一起来看看吧。

一、MongoDB 简介

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

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

MySQL 与 MongoDB 区别:

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

1.MongoDB 特点

存储性:

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

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

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

操作性:

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

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

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

可用性:

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

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

2.MongoDB 适用场景

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

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

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

不适用于的场景如下:

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

3.MongoDB 存储结构

逻辑结构:

文档 document:存放的数据。

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

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

物理结构:

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

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

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

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

4.MongoDB 数据类型

二、部署 MongoDB 数据库应用

主机名操作系统IP 地址版本
MongoDBCentOS 7.4192.168.1.1mongodb-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=0vm.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 < /usr/local/mongodb/conf/mongodb.confbind_ip=192.168.1.1port=27017dbpath=/usr/local/mongodb/data/logpath=/usr/local/mongodb/logs/mongodb.loglogappend=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/bashcase "$1" instart)/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.000GBconfig  0.000GBlocal   0.000GB> db.getName()                                          # 查看当前登录库test

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

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

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

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

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

关于"如何部署MongoDB数据库应用"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"如何部署MongoDB数据库应用"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。

数据 数据库 存储 文件 应用 文档 系统 服务 查询 日志 支持 功能 结构 集群 登录 强大 信息 场景 实时 工具 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州紫鲸互联网科技有限公司 蓝思科技飞鸽互联网 互联网络科技有限公司 远信互联网科技 碳银互联网科技 互联网和高科技公司 云创客互联网科技公司 农村开互联网科技讲堂 阿里巴巴算科技企业还是互联网 互联网金融中的现代科技 黑科技闪耀互联网之光 开一家科技互联网公司需要多少钱 青海科技产业互联网发展 西安小鹰速贷互联网科技有限公司 沐思想互联网科技有限公司 怎样加入科技互联网 上海互联网科技公司ppt 互联网高科技行业有哪些企业 深圳互联网科技园地址 科技互联网专业工作会议发言稿 涨乐互联网科技 新华互联网科技学院 广州慧亚互联网科技怎么样 互联网金融科技公司干啥的 电子科技大学互联网创业大赛 江苏苏星互联网科技有限公司 银行科技岗属于互联网吗 杭州披云加互联网科技有限公司 福建互联网展示科技馆设计 黑龙江互联网科技公司
0