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

在这篇文章中,我们将介绍如何在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的安装

步骤1:添加MongoDB仓库

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

bash 复制代码
vi /etc/yum.repos.d/mongodb-org-3.4.repo

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

bash 复制代码
[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:

bash 复制代码
yum install -y mongodb-org

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

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

步骤3:载MongoDB (选做)

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

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

bash 复制代码
vi /etc/mongod.conf

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

步骤5:启动MongoDB服务

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

bash 复制代码
service mongod start      centos6的写法
systemctl start mongod    centos7的写法

步骤6:MongoDB的基本操作

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

远程连接

MongoDB可视化工具

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

连接成功

相关推荐
Mr数据杨4 分钟前
练习题 - Django 4.x Overviewses 框架概述
数据库·sqlite
就这个java爽!15 分钟前
超详细的XML介绍【附带dom4j操作XML】
xml·java·开发语言·数据库·青少年编程·eclipse
_.Switch21 分钟前
Python Web 架构设计与性能优化
开发语言·前端·数据库·后端·python·架构·log4j
Shall#25 分钟前
Innodb存储架构
数据库·mysql·架构
SelectDB技术团队1 小时前
Apache Doris 2.1.6 版本正式发布
大数据·数据库·数据仓库·开源·doris
不会八股文1 小时前
达梦数据库导入xml迁移到达梦数据库大文件导致中断问题解决方案记录?
xml·数据库
拜见老天師1 小时前
SpringBoot中对数据库连接配置信息进行加密处理
数据库·spring boot·后端
萌新小码农‍1 小时前
汽车美容服务管理系统的数据库设计与数据操作
数据库·汽车
x66ccff1 小时前
【linux】快速列出 systemctl 特定名的服务
linux·服务器·数据库
Jiangw5572 小时前
【实战篇】MySQL是怎么保证主备一致的?
数据库·sql·mysql