編譯∕趙英傑
MongoDB是一款知名的NoSQL類型資料庫,根據DB-engines網站2016年三月的資料庫人氣排名統計,MongoDB名列第四(前三名依序為:Oracle, MySQL和Microsoft SQL Server,都是關聯式資料庫)。許多知名企業也有採用MongoDB,像eBay、GAP、Bosch(博世)、Adobe…等等。
MongoDB的官網並未提供適合Raspberry Pi的安裝程式,使用者必須花費數小時自行編譯,或者找尋他人編譯好的可執行檔(binary file),也且版本通常都比較舊。
若有興趣在Raspberry Pi 2和3自行編譯新版的MongoDB,可參考Andy Felong老兄的「在Raspberry Pi 2編譯與安裝MonogoDB 3.0.7(MongoDB 3.0.7 on Raspberry Pi 2!)」的教學文章。
下載並解壓縮樹梅派的MongoDB 3.x版可執行檔
本文摘譯自Andy Felong先生的MongoDB 3.0.9 binaries for Raspberry Pi 2 & 3 (Jessie)文章,說明在樹莓派2安裝Andy提供的MongoDB 3.0.9版的步驟。請先到此Google雲端硬碟下載core_mongodb.tar.gz(MongoDB核心)和tools_mongodb.tar.gz(MongoDB工具程式)。
兩個tar.gz格式的壓縮檔都下載之後,直接在壓縮檔上按滑鼠右鍵,選擇Extract To…(解壓縮到)指令,將檔案解壓縮到指定的路徑(在此假設解壓縮到「家」目錄底下的“mongoDB”目錄,若沒有此目錄,請先自行新增一個)。
或者,在終端機(Terminal)執行底下的命令,在tar.gz壓縮檔所在的目錄中,把“tools_mongodb.tar.gz”解壓縮到家目錄的“mongoDB”路徑裡面:
tar -xvzf tools_mongodb.tar.gz -C ~/mongoDB
解壓縮命令的語法格式:
tar -xvzf 壓縮檔所在路徑和檔名 -C 解壓縮目標路徑
在樹莓派2安裝MongoDB
也將core_mongodb.tar.gz解壓縮之後,透過底下的步驟安裝MongoDB:
1. 先確認Raspberry Pi的軟體是最新版:
sudo apt-get update
sudo apt-get upgrade
2. 在終端機視窗輸入底下的命令,查看是否已註冊“mongodb”使用者。
grep mongodb /etc/passwd
若系統回應類似底下的訊息,代表找到“mongodb”使用者,不需要再新增。
若系統沒有回應訊息,代表沒有此使用者。請輸入底下的adduser指令新增使用者“mongodb”:
sudo adduser --ingroup nogroup --shell /etc/false --disabled-password --gecos "" \
--no-create-home mongodb
3. 切換到包含mongoDB可執行檔的路徑(亦即:~/mongoDB),確認這些可執行檔的擁有者和權限,最後把這些可執行檔全都複製到“/usr/bin”路徑裡面:
cd ~/mongoDB
sudo chown root:root mongo*
sudo chmod 755 mongo*
sudo cp -p mongo* /usr/bin
4. 建立mongoDB紀錄檔的儲存目錄,並且賦予適當的使用者和權限:
sudo mkdir /var/log/mongodb
sudo chown mongodb:nogroup /var/log/mongodb
5. 建立mongoDB的資料庫存放路徑,並賦予存取權限:
sudo mkdir /var/lib/mongodb
sudo chown mongodb:root /var/lib/mongodb
sudo chmod 775 /var/lib/mongodb
5. 在/etc路徑底下,建立mongodb.conf設置檔(使用nano文字編輯器開啟):
cd /etc
sudo nano mongodb.conf
並且輸入底下的內容:
# /etc/mongodb.conf
# minimal config file (old style)
# Run mongod --help to see a list of options
bind_ip = 127.0.0.1
quiet = true
dbpath = /var/lib/mongodb
logpath = /var/log/mongodb/mongod.log
logappend = true
storageEngine = mmapv1
像這樣:
按下Ctrl+O寫入檔案、再按下Ctrl+X關閉nano編輯器。
6. 最後,在系統管理員中加入mongoDB服務設置(使用nano編輯器開啟):
cd /lib/systemd/system
sudo nano mongodb.service
並且輸入底下的內容:
[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongodb.conf
[Install]
WantedBy=multi-user.target
按下Ctrl+O寫入檔案、再按下Ctrl+X關閉nano編輯器。
MongoDB安裝完畢後,你就能透過底下的命令啟動mongoDB、查看它的狀態或者關閉服務:
sudo service mongodb start # 啟動MongoDB服務
sudo service mongodb status # 查看MongoDB
sudo service mongodb stop # 關閉MongoDB服務