MongoDB安装手册

1. MongoDB介绍

MongoDB 是一个基于分布式文件存储的数据库,用C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
MongoDB分为社区版和企业版,两者的区别主要是在体现在安全认证、系统认证等方面,具体对比如下图:


image.png

2. Linux下安装MongoDB 4.4 Community Edition

2.1 使用yum安装

MongoDB官方安装教程:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/

  • 创建/etc/yum.repos.d/mongodb-org-4.4.repo文件,这样就可以直接使用yum安装,mongodb-org-4.4.repo文件内容如下
[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
  • 安装MongoDB包

安装最新稳定版本

sudo yum install -y mongodb-org

或者,安装MongoDB的具体版本,分别指定每个组件软件包,并将版本号附加到软件包名中

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

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

exclude=mongodb-org,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools
  • 启动MongoDB之前的配置

大部分类似unix操作系统会限制进程可能使用的系统资源。这些限制可能会对MongoDB的运行产生负面影响,应进行调整。有关平台推荐设置,请参考UNIX ulimit设置。

注意:
从MongoDB 4.4开始,如果打开文件数的ulimit值小于64000,则会生成启动错误。

启动前提:

  1. 默认情况下,MongoDB使用mongod用户账户运行,并使用以下默认目录:
    • /var/lib/mongo (the data directory)
    • /var/log/mongodb (the log directory)

如果是用yum安装的默认就会创建对应目录
如果是用下载的安装包安装的话,需要手动创建下目录:

// 创建对应目录
sudo mkdir -p /var/lib/mongo
sudo mkdir -p /var/log/mongodb

// 授权
sudo chown -R mongod:mongod <directory>
  1. 自己修改配置,使用自己创建的目录,需要修改/etc/mongod.conf 配置文件
image.png
  1. 给文件夹授权
sudo chown -R mongod:mongod <directory>
  • 启动步骤

初始化系统
如果不确定平台使用哪个初始化系统,请允许以下命令:

ps --no-headers -o comm 1

然后根据结果在下面选择中选择适当的选项卡:

  • systemd - select the systemd (systemctl) tab below.
  • init - select the System V Init (service) tab below.

systemd:

  1. 启动MongoDB进程
sudo systemctl start mongod

如果报错:Failed to start mongod.service: Unit mongod.service not found. 则先执行以下命令:

sudo systemctl daemon-reload
  1. 验证MongoDB是否启动成功
sudo systemctl status mongod

您可以选择通过发出以下命令来确保MongoDB在系统重新引导后开始运行

sudo systemctl enable mongod
  1. 停止MongoDB
sudo systemctl stop mongod
  1. 重启MongoDB
sudo systemctl restart mongod
  1. 使用mongo
mongo

init:

  1. 启动MongoDB进程
sudo service mongod start
  1. 验证MongoDB是否启动成功
[initandlisten] waiting for connections on port <port>

您可以选择通过发出以下命令来确保MongoDB在系统重新引导后开始运行

sudo chkconfig mongod on
  1. 停止MongoDB
sudo service mongod stop
  1. 重启MongoDB
sudo service mongod restart
  1. 使用mongo
mongo

2.2 使用安装包安装

  1. 下载安装包

安装所需的必备软件包,请从以下连接下载mongoDB的tgz:
MongoDB Download Center
也可以直接在服务器使用wget下载:

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.4.2.tgz
  1. 解压安装包
tar -zxvf mongodb-linux-*-4.4.2.tgz
  1. 配置环境变量

mongoDB的二进制文件都在bin目录下,为了方便shell能够找到指令所在目录,将其配置在环境变量中,也可以不配,就需要到指定目录去进行命令操作。

export PATH=<mongodb-install-directory>/bin:$PATH
  1. 创建对应的data和log文件夹,并授权给mongid用户
sudo mkdir -p /usr/local/mongodb/config/data

sudo mkdir -p /usr/local/mongodb/config/log

# 创建logs
cd /usr/local/mongodb/config/log
touch logs

sudo chown -R mongod:mongod /usr/local/mongodb/config/data
sudo chown -R mongod:mongod /usr/local/mongodb/config/log
  1. 创建对应的配置文件mongod.conf
systemLog:
   destination: file
   path: /usr/local/mongodb/config/log/logs
   logAppend: true

storage:
   dbPath: /usr/local/mongodb/config/data
   journal:
      enabled: true

processManagement:
   fork: true
   pidFilePath: /usr/local/mongodb/config/log/mongod.pid
   timeZoneInfo: /usr/share/zoneinfo

net:
   bindIp: 0.0.0.0
   port: 27017

replication:
   replSetName: configs
  1. 启动mongo
./mongod -f /usr/local/mongodb/config/conf/config.conf --fork
  1. 关闭mongo
./mongod --shutdown --dbpath /usr/local/mongodb/config/data/
  1. 指定端口ip连接mongo
mongo host:port/database -u user -p password
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,524评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,869评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,813评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,210评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,085评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,117评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,533评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,219评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,487评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,582评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,362评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,218评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,589评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,899评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,176评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,503评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,707评论 2 335

推荐阅读更多精彩内容