MongoDB在Linux系统中的安装与配置指南

news2024/9/21 18:41:11

        在这篇文章中,我们将介绍如何在CentOS 7服务器上安装MongoDB,并通过DataX将数据从MongoDB迁移到MySQL数据库。这将包括MongoDB的安装、配置、数据准备以及使用DataX进行数据迁移的详细步骤。

MongoDB简介

        MongoDB是一个高性能、开源、无模式的文档型数据库,它在处理大量数据时表现出色,尤其是在需要灵活的数据模型和快速迭代开发的环境中。MongoDB的存储格式是BSON(二进制JSON),这使得它能够存储复杂的数据结构,如数组和嵌套文档。它由C++编写,支持Linux、Windows和macOS等主流操作系统,并通过默认端口27017进行通信。

MongoDB 主要特点

        MongoDB 是一个高性能、高可用、易扩展的 NoSQL 数据库,它在现代应用程序中非常受欢迎,特别是在需要处理大量数据和高并发访问的场景中。以下是对 MongoDB 的一些关键特点的更详细描述:

     非结构化数据存储

        MongoDB 使用 BSON(二进制 JSON)格式存储数据,这种格式不仅支持 JSON 中的所有数据类型,还支持 MongoDB 特有的数据类型,如日期、二进制数据、代码、正则表达式等。这种灵活的数据模型使得 MongoDB 能够存储各种复杂和嵌套的数据结构,非常适合快速发展和频繁变更的数据模型。

     动态模式

        MongoDB 的文档结构是动态的,这意味着你可以在同一个集合中存储具有不同结构的文档,而不需要预先定义一个固定的模式。这种灵活性允许开发者在应用程序的生命周期中轻松地添加、修改或删除字段,而不会中断服务。

     水平扩展性

        MongoDB 通过分片(Sharding)技术实现水平扩展,可以将数据分布到多个服务器上,从而提高处理大量数据的能力。分片允许数据库在多个服务器之间自动分配数据,从而提高读写性能和存储容量。

     高可用性和复制集

        MongoDB 使用复制集(Replica Sets)来提供数据的高可用性和数据冗余。复制集由多个 MongoDB 服务器组成,它们之间会同步数据。如果主节点发生故障,复制集可以自动选举新的主节点,确保数据的持续可用性。

     操作简单高效

        MongoDB 提供了一个强大的查询语言,支持复杂的查询操作,如聚合框架(Aggregation Framework),它允许用户执行复杂的数据处理和分析任务。索引机制也得到了优化,支持多种类型的索引,如单字段索引、复合索引、全文索引等,以提高查询性能。

     灵活性

        MongoDB 支持多种查询操作,包括嵌套查询、地理空间查询等,这使得它能够适应各种应用场景,如社交网络、电子商务、物联网等。它还提供了丰富的 API 和驱动程序,支持多种编程语言,使得开发者可以轻松地在应用程序中集成和操作 MongoDB。

     跨平台兼容性

        MongoDB可以在多种操作系统上运行,支持32位和64位架构。这种跨平台兼容性使得MongoDB能够灵活地部署在不同的硬件和软件环境中。

    社区和企业支持

        MongoDB拥有一个活跃的开源社区和专业的企业支持。这为用户提供了丰富的资源和工具,帮助他们构建、部署和维护MongoDB数据库

进一步阅读

  • MongoDB官方文档
  • MongoDB聚合框架教程
  • MongoDB分片和复制集指南

MongoDB的安装

步骤1:添加MongoDB仓库

首先,我们需要在CentOS 7上添加MongoDB的yum仓库。打开终端并执行以下命令:

vi /etc/yum.repos.d/mongodb-org-3.4.repo

在打开的文件中,添加以下内容: 

[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc

步骤2:安装MongoDB

保存并退出文件后,运行以下命令来安装MongoDB:

yum install -y mongodb-org

 由于已经安装过了所以显示

软件包 mongodb-org-4.4.29-1.el7.x86_64 已安装并且是最新版本

步骤3:载MongoDB (选做)

systemctl stop mongod  关闭
yum erase $(rpm -qa | grep mongodb-org)  卸载
#删除数据及日志
rm -rf /var/log/mongodb
rm -rf /var/lib/mongo

步骤4:修改MongoDB配置文件,允许远程连接

vi /etc/mongod.conf

net:
  port: 27017  #数据库端口,如果要远程连接,服务器记得开放端口
  bindIp: 0.0.0.0  # 默认是 127.0.0.1 只限于本机连接,如果要远程连接修改为:0.0.0.0

 

步骤5:启动MongoDB服务

启动MongoDB服务,并设置为开机自启:

service mongod start      centos6的写法
systemctl start mongod    centos7的写法

 

步骤6:MongoDB的基本操作

客户端进入MongoDB: mongo 
创建数据库:        use demo
创建表,并且数据:   db.w_demo.insert({"name":"王明","age":"10","grade":"小学"})

远程连接

MongoDB可视化工具

host为虚拟机名称或者IP地址,由于未设置账号密码所以账号密码为空

 连接成功

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2153027.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

c++9月20日

1.思维导图 2.顺序表 头文件 #ifndef RECTANGLE_H #define RECTANGLE_H#include <iostream>using namespace std;using datatype int ;//类型重定义class Seqlist { private://私有权限datatype *ptr; //指向堆区申请空间的起始地址int size;//堆区空间的长度int len …

鸿蒙OS 线程间通信

鸿蒙OS 线程间通信概述 在开发过程中&#xff0c;开发者经常需要在当前线程中处理下载任务等较为耗时的操作&#xff0c;但是又不希望当前的线程受到阻塞。此时&#xff0c;就可以使用 EventHandler 机制。EventHandler 是 HarmonyOS 用于处理线程间通信的一种机制&#xff0c…

Spring Boot助力高校心理辅导系统升级

3 系统分析 3.1可行性分析 在进行可行性分析时&#xff0c;我们通常根据软件工程里方法&#xff0c;通过四个方面来进行分析&#xff0c;分别是技术、经济、操作和法律可行性。因此&#xff0c;在基于对目标系统的基本调查和研究后&#xff0c;对提出的基本方案进行可行性分析。…

如何着手创建企业数据目录?(三)权限管理及版本控制

前文导读&#xff1a; 《如何着手创建企业数据目录&#xff1f;&#xff08;一&#xff09;数据目录的设定》 《如何着手创建企业数据目录&#xff1f;&#xff08;二&#xff09;数据的命名与维护》 前面聊过了数据目录的设定、数据命名规则和维护规则&#xff0c;今天我们继续…

【java实现json转化为CSV文件】

文章目录 JSON文件中的数据格式测试文件转换的接口 JSON文件中的数据格式 单条数据展开后如下&#xff1a; {"text": "《邪少兵王》是冰火未央写的网络小说连载于旗峰天下","spo_list":[{"predicate": "作者", "objec…

Windows环境下搭建MySQL主从同步实现读写分离

文章目录 前言读写分离的基本原理 环境介绍及说明主库my.ini初始配置创建用于同步的数据库和表 一、新增mysql从库1.复制mysql文件夹2.修改从库的my.ini3.安装到windows服务 二、在my.ini中配置主、从库相关参数1.主库新增配置参数不同版本参数不同问题 2.从库新增配置参数3.删…

rabbitmq 短信验证码

1.生成的验证码用redis存 减少数据库压力 2.通知运营商发送短信的事情交给rabbitmq的队列去做&#xff0c;无论成功或者是失败&#xff0c;用户那边都不知道。没有收到验证码&#xff08;监听失败&#xff09;用户只会觉得是运营商的问题&#xff0c;而不会怀疑是我们的系统有问…

Linux文件IO(四)-返回错误处理与errno详解

1.前言 在上一文章中&#xff0c;给大家编写了很多的示例代码&#xff0c;大家会发现这些示例代码会有一个共同的特点&#xff0c;那就是当判断函数执行失败后&#xff0c;会调用 return 退出程序&#xff0c;但是对于我们来说&#xff0c;我们并不知道为什么会出错&#xff0…

C++进阶|多态知识点详解及经典面试题总结

&#x1f36c; mooridy-CSDN博客 &#x1f9c1;C专栏&#xff08;更新中&#xff01;&#xff09; 目录 1. 多态的概念 2. 多态的定义及实现 2.1 多态的构成条件 2.2 虚函数的重写/覆盖 2.3 虚函数重写的⼀些其他问题 2.4 override 和 final关键字 2.5 重载/重写/隐藏的…

(笔记自用)位运算总结+LeetCode例题:颠倒二进制位+位1的个数

一.位运算总结: 在解题之前理解一下为什么需要位运算&#xff1f;它的本质是什么&#xff1f; 力扣上不少位运算相关的题&#xff0c;并且很多题也会用到位运算的技巧。这又是为什么&#xff1f; 位运算的由来 在计算机里面&#xff0c;任何数据最终都是用数字来表示的&…

mysqldump使用cmd窗口和powersell窗口导出sql中文乱码的问题

项目场景 我在使用Mariadb数据库更新数据的时候&#xff0c;由于数据库的表格中含有中文&#xff0c;在使用mysqldump导出sql语句的时候&#xff0c;中文显示乱码&#xff0c;如下图所示&#xff1a; 环境描述 系统&#xff1a;windows10数据库&#xff1a; Mariadb -10.6.16…

Vue2中路由的介绍和使用

一.路由的基本概念 一说路由&#xff0c;大家首先想到的可能是路由器&#xff0c;路由器的原理就是给连接的设备一个IP地址&#xff0c;通过IP地址来映射到设备&#xff0c;实现连接&#xff0c;本质上是一种映射关系。 在vue2中就是路径与组件间的映射。 路由是使用vue2制作…

Python爬虫使用实例-umei

优美图库 www.umei.cc BV1Ag41137re 1/获取资源 查看网站资源结构 多页&#xff0c;每个item只有一张图 多页&#xff0c;每个item都是一个图集 最大页码 内外层图集均有若干page。 通过尾页按钮确定pageNum&#xff1a; 2/发送请求 response requests.get(urlurl, header…

快速将Mongo Compass的shell语句转成java代码

步骤一、从MongoCompass中获取java代码 将java代码复制出来&#xff0c;从MongoCompass中复制的java代码基本格式如下&#xff1a;&#xff08;是Bson原生格式&#xff09; List<Document> list Arrays.asList(new Document("$match",new Document("name…

探索视频美颜SDK与直播美颜工具的开发实践方案

直播平台的不断发展&#xff0c;让开发出性能优异、效果自然的美颜技术&#xff0c;成为了技术团队必须面对的重要挑战。本篇文章&#xff0c;小编将深入讲解视频美颜SDK与直播美颜工具的开发实践方案。 一、视频美颜SDK的核心功能 视频美颜SDK是视频处理中的核心组件&#xf…

Cocos Creator3.x设置动态加载背景图并且循环移动

效果图 项目结构 项目层级结构&#xff1a; 预制&#xff1a; 代码 import { _decorator, CCFloat, Component, Node, Sprite, instantiate, Prefab, assert } from cc; const { ccclass, property } _decorator;/*** 背景脚本*/ ccclass(Background) export class Backg…

2024年华为杯研赛(D题)数学建模竞赛解题思路|完整代码论文集合

我是Tina表姐&#xff0c;毕业于中国人民大学&#xff0c;对数学建模的热爱让我在这一领域深耕多年。我的建模思路已经帮助了百余位学习者和参赛者在数学建模的道路上取得了显著的进步和成就。现在&#xff0c;我将这份宝贵的经验和知识凝练成一份全面的解题思路与代码论文集合…

反激电路中TL431光耦反馈参数的计算,环路设计思路

反馈的过程 当副边的输出电压升高时&#xff0c;TL431参考端电压&#xff08;R端&#xff09;电压也会升高&#xff0c;使得TL431的导通量增加&#xff0c;同时光耦内部的发光二极管流过的电流也会增大&#xff0c;进而使得光耦三极管导通量增加&#xff0c;相连的电源IC电压反…

《粮油与饲料科技》是什么级别的期刊?是正规期刊吗?能评职称吗?

问题解答 问&#xff1a;《粮油与饲料科技》是不是核心期刊&#xff1f; 答&#xff1a;不是&#xff0c;是知网收录的第一批认定 学术期刊。 问&#xff1a;《粮油与饲料科技》级别&#xff1f; 答&#xff1a;省级。主管单位&#xff1a;中文天地出版传媒集团股份有限公司…

缺陷及缺陷管理(复习)

​ 大家好&#xff0c;我是程序员小羊&#xff01; 前言&#xff1a; 今日目标 能够说出缺陷的判定标准 能够说出描述缺陷的6大核心内容 能够描述缺陷状态、严重程度、优先级的作用 能够按照提供的缺陷模版完成一个缺陷的提交 能够说出缺陷的跟踪流程 能够在禅道中提交测…