Linux版本MongoDB安裝

realkid4發表於2017-07-14

 

伴隨著網際網路應用的迅猛推廣和各種開源產品的深入,各種非關係型資料NoSQL產品近幾年的發展比較迅猛。針對特定行業、領域和應用場景,脫離關係型資料模型體系的NoSQL家族,已經逐步深入各行各業,逐步被技術應用領域所接受。

 

MongoDB由於自身基於文件(Document)和靈活的Schema策略模型,以及較為成熟的管理應用功能體系和開源特性,在國內正變得越來越流行,成為IT資料架構選型的標準之一。本篇主要介紹在Linux作業系統體系下,進行簡單的MongoDB安裝方法。

 

1、環境介紹

 

Linux環境下的應用安裝,主要有幾種標準方式:yum型別一體式安裝,設定好repository,最新版本安裝和依賴包一氣呵成;自己解決包依賴問題,使用rpm甚至zip壓縮檔案直接安裝;最後一種比較“高階”,是獲取到軟體原始碼,在作業系統層面直接編譯安裝。本篇中,筆者使用第二種壓縮檔案的方式,進行基礎安裝。環境使用Red Hat 6.5版本。

 

 

[root@oracle-test /]# cat /etc/redhat-release

Red Hat Enterprise Linux Server release 6.5 (Santiago)

 

 

MongoDB官方網站下載到對應的安裝檔案。

 

 

[root@oracle-test upload]# ls -l

total 98124

-rw-r--r--. 1 root root 100477926 Jul 13 22:39 mongodb-linux-x86_64-rhel62-3.4.5.tgz

 

 

2、安裝系統

 

OracleMySQL一樣,我們儘量不使用root使用者作為資料庫執行主體。最好建立專門的資料庫使用者帳號。

 

 

[root@oracle-test /]# groupadd mongodb

[root@oracle-test /]# useradd -g mongodb mongodb

[root@oracle-test /]# id mongodb

uid=501(mongodb) gid=501(mongodb) groups=501(mongodb)

 

 

建立單獨的目錄,防止解壓檔案。

 

 

[root@oracle-test /]# mkdir /mongodb

[root@oracle-test /]# chown -R mongodb:mongodb mongodb

[root@oracle-test /]# ls -l | grep mongodb

drwxr-xr-x.   2 mongodb mongodb  4096 Jul 13 22:38 mongodb

 

[root@oracle-test upload]# cp mongodb-linux-x86_64-rhel62-3.4.5.tgz /mongodb/

 

 

解壓檔案:

 

 

[root@oracle-test mongodb]# tar zxvf mongodb-linux-x86_64-rhel62-3.4.5.tgz

mongodb-linux-x86_64-rhel62-3.4.5/README

(篇幅原因,有省略……

mongodb-linux-x86_64-rhel62-3.4.5/bin/mongod

mongodb-linux-x86_64-rhel62-3.4.5/bin/mongos

mongodb-linux-x86_64-rhel62-3.4.5/bin/mongo

 

 

設定資料庫使用者帳號許可權。

 

 

[root@oracle-test mongodb]# chown -R mongodb:mongodb *

[root@oracle-test mongodb]# ls -l

total 4

drwxr-xr-x. 3 mongodb mongodb 4096 Jul 13 22:41 mongodb-linux-x86_64-rhel62-3.4.5

 

 

進入解壓目錄,就可以看到主要的bin資料夾,包括了大部分的功能元件。其中,mongod是資料庫例項執行程式程式,是Mongodb的核心。Mongo也稱為mongo shell,是類似於sqlplus的客戶端程式。其他諸如匯入匯出、備份還原,基本與其他商用資料庫差異不大。

 

 

[root@oracle-test mongodb-linux-x86_64-rhel62-3.4.5]# cd bin

[root@oracle-test bin]# ls -l

total 277044

-rwxr-xr-x. 1 mongodb mongodb 10359081 Jun 14 05:37 bsondump

-rwxr-xr-x. 1 mongodb mongodb 29860072 Jun 14 06:02 mongo

-rwxr-xr-x. 1 mongodb mongodb 54387648 Jun 14 06:02 mongod

-rwxr-xr-x. 1 mongodb mongodb 12696783 Jun 14 05:38 mongodump

-rwxr-xr-x. 1 mongodb mongodb 10711297 Jun 14 05:38 mongoexport

-rwxr-xr-x. 1 mongodb mongodb 10593233 Jun 14 05:37 mongofiles

-rwxr-xr-x. 1 mongodb mongodb 10867956 Jun 14 05:38 mongoimport

-rwxr-xr-x. 1 mongodb mongodb 10361065 Jun 14 05:38 mongooplog

-rwxr-xr-x. 1 mongodb mongodb 53756680 Jun 14 06:02 mongoperf

-rwxr-xr-x. 1 mongodb mongodb 14000016 Jun 14 05:39 mongoreplay

-rwxr-xr-x. 1 mongodb mongodb 14054073 Jun 14 05:38 mongorestore

-rwxr-xr-x. 1 mongodb mongodb 30523368 Jun 14 06:02 mongos

-rwxr-xr-x. 1 mongodb mongodb 10931198 Jun 14 05:37 mongostat

-rwxr-xr-x. 1 mongodb mongodb 10557955 Jun 14 05:38 mongotop

 

 

3、執行和連線資料庫

 

為了方便起見,將mongodbbin路徑,新增到mongodb使用者的PATH變數中。

 

 

[root@oracle-test bin]# su - mongodb

[mongodb@oracle-test ~]$ vi .bash_profile

 

PATH=$PATH:$HOME/bin

PATH=$PATH:/mongodb/mongodb-linux-x86_64-rhel62-3.4.5/bin

export PATH

~

 

第一次啟動,直接從命令列中執行mongod命令,啟動資料庫。

 

[mongodb@oracle-test ~]$ mongod

2017-07-13T22:47:36.872+0800 I CONTROL  [initandlisten] MongoDB starting : pid=18996 port=27017 dbpath=/data/db 64-bit host=oracle-test

2017-07-13T22:47:36.872+0800 I CONTROL  [initandlisten] db version v3.4.5

2017-07-13T22:47:36.872+0800 I CONTROL  [initandlisten] git version:

(篇幅原因,有省略……

2017-07-13T22:47:36.872+0800 I STORAGE  [initandlisten] exception in initAndListen: 29 Data directory /data/db not found., terminating

2017-07-13T22:47:36.872+0800 I NETWORK  [initandlisten] shutdown: going to close listening sockets...

2017-07-13T22:47:36.872+0800 I NETWORK  [initandlisten] shutdown: going to flush diaglog...

2017-07-13T22:47:36.872+0800 I CONTROL  [initandlisten] now exiting

2017-07-13T22:47:36.872+0800 I CONTROL  [initandlisten] shutting down with code:100

 

 

資料庫嘗試啟動之後停止了,原因是資料目錄沒有。預設資料目錄是/data/dbWindows環境則是C:\data\db。如果需要自行指定目錄,需要使用mongod引數配置。我們進行新增:

 

 

[root@oracle-test /]# mkdir -p /data/db

[root@oracle-test /]# chown -R mongodb:mongodb /data

[root@oracle-test /]# ls -l | grep data

drwxr-xr-x.   3 mongodb mongodb  4096 Jul 13 22:49 data

 

 

操作成功:

 

 

[mongodb@oracle-test ~]$ mongod

2017-07-13T22:50:24.098+0800 I CONTROL  [initandlisten] MongoDB starting : pid=19087 port=27017 dbpath=/data/db 64-bit host=oracle-test

2017-07-13T22:50:24.098+0800 I CONTROL  [initandlisten] db version v3.4.5

(篇幅原因,有省略……

2017-07-13T22:50:24.249+0800 I NETWORK  [thread1] waiting for connections on port 27017

 

 

從遠端客戶端連線,正常。

 

:\Users\admin>mongo --host 172.16.19.143

MongoDB shell version v3.4.5

connecting to: mongodb://172.16.19.143:27017/

MongoDB server version: 3.4.5

Server has startup warnings:

2017-07-13T23:31:25.215+0800 I STORAGE  [initandlisten]

(篇幅原因,有省略…….

2017-07-13T23:31:25.771+0800 I CONTROL  [initandlisten]

>

 

 

4、結論

 

筆者作為初學者,簡單建立了基礎Mongodb環境,後續還有諸如啟動場景、日誌提示、許可權登入等內容需要進行配置。相當於萬里長征走完第一步吧。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17203031/viewspace-2142053/,如需轉載,請註明出處,否則將追究法律責任。

相關文章