Linux 安装 MongoDB社区版

Gwen ·
更新时间:2024-11-11
· 925 次阅读

1.MongoDB简介

MongoDB是一个开源、高性能、无模式的文档型数据库,当初的设计就是用于简化开发和方便扩展,是NoSQL数据库产品中的一种。是最
像关系型数据库(MySQL)的非关系型数据库。
它支持的数据结构非常松散,是一种类似于 JSON 的 格式叫BSON,所以它既可以存储比较复杂的数据类型,又相当的灵活。
MongoDB中的记录是一个文档,它是一个由字段和值对(field:value)组成的数据结构。MongoDB文档类似于JSON对象,即一个文档认
为就是一个对象。字段的数据类型是字符型,它的值除了使用基本的一些类型外,还可以包括其他文档、普通数组和文档数组。

2.业务应用场景

传统的关系型数据库(如MySQL),在数据操作的“三高”需求以及应对Web2.0的网站需求面前,显得力不从心。
解释:“三高”需求:
• High performance - 对数据库高并发读写的需求。
• Huge Storage - 对海量数据的高效率存储和访问的需求。
• High Scalability && High Availability- 对数据库的高可扩展性和高可用性的需求。
而MongoDB可应对“三高”需求。
具体的应用场景如:
1)社交场景,使用 MongoDB 存储存储用户信息,以及用户发表的朋友圈信息,通过地理位置索引实现附近的人、地点等功能。
2)游戏场景,使用 MongoDB 存储游戏用户信息,用户的装备、积分等直接以内嵌文档的形式存储,方便查询、高效率存储和访问。
3)物流场景,使用 MongoDB 存储订单信息,订单状态在运送过程中会不断更新,以 MongoDB 内嵌数组的形式来存储,一次查询就能将
订单所有的变更读取出来。
4)物联网场景,使用 MongoDB 存储所有接入的智能设备信息,以及设备汇报的日志信息,并对这些信息进行多维度的分析。
5)视频直播,使用 MongoDB 存储用户信息、点赞互动信息等。
这些应用场景中,数据操作方面的共同特点是:
(1)数据量大
(2)写入操作频繁(读写都很频繁)
(3)价值较低的数据,对事务性要求不高
对于这样的数据,我们更适合使用MongoDB来实现数据的存储。
什么时候选择MongoDB
在架构选型上,除了上述的三个特点外,如果你还犹豫是否要选择它?可以考虑以下的一些问题:
应用不需要事务及复杂 join 支持
新应用,需求会变,数据模型无法确定,想快速迭代开发
应用需要2000-3000以上的读写QPS(更高也可以)
应用需要TB甚至 PB 级别数据存储
应用发展迅速,需要能快速水平扩展
应用要求存储的数据不丢失
应用需要99.999%高可用
应用需要大量的地理位置查询、文本查询
如果上述有1个符合,可以考虑 MongoDB,2个及以上的符合,选择 MongoDB 绝不会后悔。

3.部署环境

虚拟机要外网:

[root@localhost conf]# ping www.baidu.com PING www.a.shifen.com (14.215.177.38) 56(84) bytes of data. 64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=1 ttl=128 time=9.02 ms 64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=2 ttl=128 time=8.60 ms 64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=3 ttl=128 time=6.93 ms ^C --- www.a.shifen.com ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 6017ms rtt min/avg/max/mdev = 6.937/8.187/9.022/0.903 ms

linux版本:

#cat /etc/redhat-release,这种方法只适合Redhat系的Linux #cat /etc/issue,此命令也适用于所有的Linux发行版 [root@localhost conf]# cat /etc/redhat-release CentOS Linux release 7.7.1908 (Core) 4.Linux 安装 MongoDB社区版

提示:版本的选择:
MongoDB的版本命名规范如:x.y.z;
y为奇数时表示当前版本为开发版,如:1.5.2、4.1.13; y为偶数时表示当前版本为稳定版,如:1.6.3、4.0.10; z是修正版本号,数字越大越好。

4.1第一种安装方式(官方) 4.1.1 配置程序包管理系统(yum)

#使用 root 权限登录 Centos。确保 yum 包更新到最新。

yum -y update

创建一个/etc/yum.repos.d/mongodb-org-3.6.repo文件,以便您可以使用yum以下命令直接安装MongoDB :

[mongodb-org-3.6] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc 4.1.2 下载安装MongoDB包

要安装最新的稳定版MongoDB,请发出以下命令:

sudo yum install -y mongodb-org

或者,要安装特定版本的MongoDB,请分别指定每个组件软件包,并将版本号附加到软件包名称中,如以下示例所示:

sudo yum install -y mongodb-org-3.6.2 mongodb-org-server-3.6.2 mongodb-org-shell-3.6.2 mongodb-org-mongos-3.6.2 mongodb-org-tools-3.6.2

您可以指定任何可用的MongoDB版本。但是yum ,当有新版本可用时,将升级软件包。为防止意外升级,请固定包装。要固定包,exclude请在/etc/yum.conf文件中添加以下指令:

exclude=mongodb-org,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools 4.1.3 MongoDB所需目录创建

默认情况下,MongoDB使用mongod用户帐户运行,并使用以下默认目录:

/var/lib/mongo (数据目录)
/var/log/mongodb (日志目录)

sudo mkdir -p /var/lib/mongo sudo mkdir -p /var/log/mongodb

默认情况下,MongoDB使用mongod用户帐户运行。创建后,将这些目录的所有者和组设置为mongod:

sudo chown -R mongod:mongod /var/lib/mongo sudo chown -R mongod:mongod /var/log/mongodb 4.1.4 MongoDB启动 #启动: sudo systemctl start mongod #重启: sudo systemctl restart mongod #停止: sudo systemctl stop mongod 4.2第二种安装方式 4.2.1先到官网下载压缩包 mongodb-linux-x86_64-3.6.17.tgz 。

下载地址:https://www.mongodb.com/download-center#community

4.2.2 上传压缩包到Linux中,解压到当前目录: tar -xvf mongodb-linux-x86_64-3.6.17.tgz 4.2.3 移动解压后的文件夹到指定的目录中: mv mongodb-linux-x86_64-3.6.17 /usr/local/mongodb 4.2.4 新建几个目录,分别用来存储数据和日志:

创建数据存储目录
创建日志存储目录

mkdir -p /mongodb/single/data/db mkdir -p /mongodb/single/log 4.2.5 新建并修改配置文件

安装vim命令:

yum -y install vim-enhanced

新建并修改配置文件:

vim /mongodb/single/mongod.yml systemLog: #MongoDB发送所有日志输出的目标指定为文件 destination: file #mongod或mongos应向其发送所有诊断日志记录信息的日志文件的路径 path: "/mongodb/single/log/mongod.log" #当mongos或mongod实例重新启动时,mongos或mongod会将新条目附加到现有日志文件的末尾。 logAppend: true storage: #mongod实例存储其数据的目录。storage.dbPath设置仅适用于mongod。 dbPath: "/mongodb/single/data/db" journal: #启用或禁用持久性日志以确保数据文件保持有效和可恢复。 enabled: true processManagement: #启用在后台运行mongos或mongod进程的守护进程模式。 fork: true #指定用于保存mongos或mongod进程的进程ID的文件位置,其中mongos或mongod将写入其PID pidFilePath: "/mongodb/single/log/mongod.pid" net: #服务实例绑定所有IP,有副作用,副本集初始化的时候,节点名字会自动设置为本地域名,而不是ip #bindIpAll: true #服务实例绑定的IP bindIp: localhost,192.168.0.49 #bindIp #绑定的端口 port: 27017 4.2.6 启动 /usr/local/mongodb/bin/mongod -f /mongodb/single/mongod.yml

启动成功如下:
在这里插入图片描述
本地链接:

/usr/local/mongodb/bin/mongo #或 /usr/local/mongodb/bin/mongo --host 192.168.0.49 --port 27017 #本地链接可以不带 --host 192.168.0.49 --port 27017

链接成功如下:
在这里插入图片描述
参考官方文档资料地址(MongoDB官网):
https://docs.mongodb.com


作者:丶Wilson



Linux linux 安装 安装 MongoDB

需要 登录 后方可回复, 如果你还没有账号请 注册新账号