MongoDB安裝手冊(cè)

1. MongoDB介紹

MongoDB 是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫洗出,用C++語言編寫。旨在為WEB應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案栈妆。
MongoDB 是一個(gè)介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品闰挡,是非關(guān)系數(shù)據(jù)庫當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫的华匾。
MongoDB分為社區(qū)版和企業(yè)版,兩者的區(qū)別主要是在體現(xiàn)在安全認(rèn)證机隙、系統(tǒng)認(rèn)證等方面蜘拉,具體對(duì)比如下圖:


image.png

2. Linux下安裝MongoDB 4.4 Community Edition

2.1 使用yum安裝

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

  • 創(chuàng)建/etc/yum.repos.d/mongodb-org-4.4.repo文件,這樣就可以直接使用yum安裝有鹿,mongodb-org-4.4.repo文件內(nèi)容如下
[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包

安裝最新穩(wěn)定版本

sudo yum install -y mongodb-org

或者旭旭,安裝MongoDB的具體版本,分別指定每個(gè)組件軟件包葱跋,并將版本號(hào)附加到軟件包名中

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版本持寄,但是,當(dāng)有新版本可用的時(shí)候娱俺,yum會(huì)升級(jí)軟件包稍味。為防止意外升級(jí),請(qǐng)固定安裝荠卷。要固定軟件包仲闽,請(qǐng)將一下exclude指令添加到/etc/yum.conf文件中:

exclude=mongodb-org,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools
  • 啟動(dòng)MongoDB之前的配置

大部分類似unix操作系統(tǒng)會(huì)限制進(jìn)程可能使用的系統(tǒng)資源。這些限制可能會(huì)對(duì)MongoDB的運(yùn)行產(chǎn)生負(fù)面影響僵朗,應(yīng)進(jìn)行調(diào)整。有關(guān)平臺(tái)推薦設(shè)置屑彻,請(qǐng)參考UNIX ulimit設(shè)置验庙。

注意:
從MongoDB 4.4開始,如果打開文件數(shù)的ulimit值小于64000社牲,則會(huì)生成啟動(dòng)錯(cuò)誤粪薛。

啟動(dòng)前提:

  1. 默認(rèn)情況下,MongoDB使用mongod用戶賬戶運(yùn)行搏恤,并使用以下默認(rèn)目錄:
    • /var/lib/mongo (the data directory)
    • /var/log/mongodb (the log directory)

如果是用yum安裝的默認(rèn)就會(huì)創(chuàng)建對(duì)應(yīng)目錄
如果是用下載的安裝包安裝的話违寿,需要手動(dòng)創(chuàng)建下目錄:

// 創(chuàng)建對(duì)應(yīng)目錄
sudo mkdir -p /var/lib/mongo
sudo mkdir -p /var/log/mongodb

// 授權(quán)
sudo chown -R mongod:mongod <directory>
  1. 自己修改配置湃交,使用自己創(chuàng)建的目錄,需要修改/etc/mongod.conf 配置文件
image.png
  1. 給文件夾授權(quán)
sudo chown -R mongod:mongod <directory>
  • 啟動(dòng)步驟

初始化系統(tǒng)
如果不確定平臺(tái)使用哪個(gè)初始化系統(tǒng)藤巢,請(qǐng)?jiān)试S以下命令:

ps --no-headers -o comm 1

然后根據(jù)結(jié)果在下面選擇中選擇適當(dāng)?shù)倪x項(xiàng)卡:

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

systemd:

  1. 啟動(dòng)MongoDB進(jìn)程
sudo systemctl start mongod

如果報(bào)錯(cuò):Failed to start mongod.service: Unit mongod.service not found. 則先執(zhí)行以下命令:

sudo systemctl daemon-reload
  1. 驗(yàn)證MongoDB是否啟動(dòng)成功
sudo systemctl status mongod

您可以選擇通過發(fā)出以下命令來確保MongoDB在系統(tǒng)重新引導(dǎo)后開始運(yùn)行

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

init:

  1. 啟動(dòng)MongoDB進(jìn)程
sudo service mongod start
  1. 驗(yàn)證MongoDB是否啟動(dòng)成功
[initandlisten] waiting for connections on port <port>

您可以選擇通過發(fā)出以下命令來確保MongoDB在系統(tǒng)重新引導(dǎo)后開始運(yùn)行

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

2.2 使用安裝包安裝

  1. 下載安裝包

安裝所需的必備軟件包搞莺,請(qǐng)從以下連接下載mongoDB的tgz:
MongoDB Download Center
也可以直接在服務(wù)器使用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. 配置環(huán)境變量

mongoDB的二進(jìn)制文件都在bin目錄下,為了方便shell能夠找到指令所在目錄掂咒,將其配置在環(huán)境變量中才沧,也可以不配,就需要到指定目錄去進(jìn)行命令操作绍刮。

export PATH=<mongodb-install-directory>/bin:$PATH
  1. 創(chuàng)建對(duì)應(yīng)的data和log文件夾温圆,并授權(quán)給mongid用戶
sudo mkdir -p /usr/local/mongodb/config/data

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

# 創(chuàng)建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. 創(chuàng)建對(duì)應(yīng)的配置文件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. 啟動(dòng)mongo
./mongod -f /usr/local/mongodb/config/conf/config.conf --fork
  1. 關(guān)閉mongo
./mongod --shutdown --dbpath /usr/local/mongodb/config/data/
  1. 指定端口ip連接mongo
mongo host:port/database -u user -p password
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市孩革,隨后出現(xiàn)的幾起案子岁歉,更是在濱河造成了極大的恐慌,老刑警劉巖膝蜈,帶你破解...
    沈念sama閱讀 221,820評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件锅移,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡彬檀,警方通過查閱死者的電腦和手機(jī)帆啃,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來窍帝,“玉大人努潘,你說我怎么就攤上這事±ぱВ” “怎么了疯坤?”我有些...
    開封第一講書人閱讀 168,324評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)深浮。 經(jīng)常有香客問我压怠,道長(zhǎng),這世上最難降的妖魔是什么飞苇? 我笑而不...
    開封第一講書人閱讀 59,714評(píng)論 1 297
  • 正文 為了忘掉前任菌瘫,我火速辦了婚禮,結(jié)果婚禮上布卡,老公的妹妹穿的比我還像新娘雨让。我一直安慰自己,他們只是感情好忿等,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,724評(píng)論 6 397
  • 文/花漫 我一把揭開白布栖忠。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪庵寞。 梳的紋絲不亂的頭發(fā)上狸相,一...
    開封第一講書人閱讀 52,328評(píng)論 1 310
  • 那天,我揣著相機(jī)與錄音捐川,去河邊找鬼脓鹃。 笑死,一個(gè)胖子當(dāng)著我的面吹牛属拾,可吹牛的內(nèi)容都是我干的将谊。 我是一名探鬼主播,決...
    沈念sama閱讀 40,897評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼渐白,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼尊浓!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起纯衍,我...
    開封第一講書人閱讀 39,804評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤栋齿,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后襟诸,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體瓦堵,經(jīng)...
    沈念sama閱讀 46,345評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,431評(píng)論 3 340
  • 正文 我和宋清朗相戀三年歌亲,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了菇用。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,561評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡陷揪,死狀恐怖惋鸥,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情悍缠,我是刑警寧澤卦绣,帶...
    沈念sama閱讀 36,238評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站飞蚓,受9級(jí)特大地震影響滤港,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜趴拧,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,928評(píng)論 3 334
  • 文/蒙蒙 一溅漾、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧著榴,春花似錦樟凄、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至挂谍,卻和暖如春叔壤,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背口叙。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評(píng)論 1 272
  • 我被黑心中介騙來泰國打工炼绘, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人妄田。 一個(gè)月前我還...
    沈念sama閱讀 48,983評(píng)論 3 376
  • 正文 我出身青樓俺亮,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國和親疟呐。 傳聞我的和親對(duì)象是個(gè)殘疾皇子脚曾,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,573評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容