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可以連線資料庫,後臺服務也可以啟動