在 Raspbian 安裝 MongoDB 的慘痛經驗 (廢文)
由於 Raspberry Pi 4 model B 的 CPU ARMv7l 為 32 bit,所以只能安裝舊版的 MongoDB。若是網路架構,可以將 MongoDB 裝在別的主機或雲端,使用較新版本的 MongoDB。
在 Raspbian 中查看提供的 MongoDB 版本就好,不要安裝:
pi@raspberrypi:~ $ apt-cache policy mongodb
mongodb:
已安裝:(無)
候選: 1:2.4.14-4
版本列表:
1:2.4.14-4 500
500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages
只提供 2.4 的版本真的太老舊了,官方 drivers 都不支援了,真的別裝!
如果使用 MongoDB 3.2 以上是必要的那就請用 Ubuntu 20.04 LTS (64-bit),目前已經可以透過 Imager 安裝這個版本了。
以下是做個記錄,不要實作,在 Raspbian,MongoDB 3.2 和 3.0 32-bit 都無法執行,殘念。
支援 32-bit MongoDB 的最高版本 3.2.22,請參考這篇。
可以透過瀏覽器到 MongoDB 官網下載中心 選取「Version 3.2.22」>「Linux 32-bit lagecy」>「TGZ」下載(拷備表單下的連結也可以)。
wget https://fastdl.mongodb.org/linux/mongodb-linux-i686-3.2.22.tgz # 下載
tar -zxvf mongodb-linux-i686-3.2.22.tgz # 解壓縮
sudo cp ./mongodb-linux-i686-3.2.22/bin/* /usr/bin/ # 複製檔案
設定啟動檔
wget https://raw.githubusercontent.com/mongodb/mongo/master/debian/init.d # 下載啟動檔
sudo mv init.d /etc/init.d/mongod # 移動檔案
sudo chmod 755 /etc/init.d/mongod # 變更屬性
建立設定檔 /etc/mongod.conf
storage:
dbPath: /var/lib/mongo
journal:
enabled: true
engine: mmapv1
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
processManagement:
fork: true
net:
port: 27017
bindIp: 0.0.0.0
建立 mongodb 用戶
sudo useradd --home-dir /var/lib/mongo --shell /bin/false mongodb
sudo passwd mongodb
建立存放資料的資料夾 /var/lib/mongo
# 存放資料庫資料
sudo mkdir /var/lib/mongo
sudo chown -R mongodb /var/lib/mongo
sudo chgrp -R mongodb /var/lib/mongo
# 記錄檔
sudo mkdir /var/log/mongodb
sudo chown -R mongodb /var/log/mongodb
sudo chgrp -R mongodb /var/log/mongodb
# pid
sudo touch /var/run/mongod.pid
sudo chown mongodb /var/run/mongod.pid
sudo chgrp mongodb /var/run/mongod.pid
初始化服務:
sudo update-rc.d mongod defaults
沒有留言:
張貼留言