1. 程式人生 > >ubuntu 1404安裝mongodb出現的問題及其解決

ubuntu 1404安裝mongodb出現的問題及其解決

如果是第一次安裝,建議使用apt工具在終端安裝:

1.匯入公鑰:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927 2.建立安裝檔案

如果是Ubuntu 14.04

echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

如果是Ubuntu 16.04

echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

3. 重新載入本地安裝資料庫

sudo apt-get update

4.

安裝MongoDB

sudo apt-get install -y mongodb-org

如果要指定某個版本的mongdb,可以如下配置

sudo apt-get install -y mongodb-org=3.2.21 mongodb-org-server=3.2.21 mongodb-org-shell=3.2.21 mongodb-org-mongos=3.2.21 mongodb-org-tools=3.2.21

5.安裝robomongo資料庫視覺化軟體

如果通過

sudo apt-get purge mongodb-org*

解除安裝過mongodb, 或者發現上面的方法安裝不了,可以考慮採用二進位制檔案進行安裝:

1

curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.21.tgz

2

解壓下載檔案

tar -zxvf mongodb-linux-x86_64-3.2.21.tgz

3

將解壓好的檔案拷貝到希望安裝的目錄如/usr

mkdir -p /usr/mongodb
cp -R -n mongodb-linux-x86_64-3.2.21/ mongodb

4

將二進位制檔案新增到環境變數,Mongdb的二進位制檔案在/bin目錄下,需要將其新增到環境變數中去

官方教程提示將以下命令新增到/.bashrc檔案的末尾,但對我來說不起作用

export PATH=<mongodb-install-directory>/bin:$PATH  其中mongodb-install-directory是剛才你拷貝檔案到的目錄,如/usr/mongodb

我的解決方法是編輯

/etc/environment 

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

在開頭新增mongodb的bin目錄的路徑,注意以冒號分割

PATH="/usr/mongodb/mongodb-linux-x86_64-ubuntu1404-4.0.2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

執行下面命令使其生效

source /etc/environment && export PATH

如果你的shell跟我一樣是zsh, 還需要

編輯 /etc/zsh/zshenv,在註釋行後新增

source /etc/environment

使用echo $PATH檢視發現path中有了該bin目錄

如果便完成了mongodb的二進位制檔案安裝

然互可安裝robomongo管理資料庫

#使用mongodb

mongodb預設使用/data/db資料夾儲存資料庫,執行

mongo 啟動資料庫

會發現  

exception in initAndListen: 20 Attempted to create a lock file on a read-only directory: /data/db, terminating

這是因為只有根使用者才有根目錄資料夾的寫許可權,要解決這個問題執行下面兩條命令其一:

改變許可權使得所有使用者具有讀寫該資料夾的許可權,不建議

sudo chmod -R go+w /data/db

只有當前使用者具有寫許可權

> sudo chown -R $USER /data/db

至此安裝完成, robomongo可以連線資料庫,後臺服務也可以啟動