今天准備學習MongoDB,沒想到下載之后服務器端啟動不了,記錄一下問題和處理過程
一.安裝
在Ubuntu中安裝還是很簡單,直接:sudo apt install mongodb
二.啟動
啟動MongoDB服務器端:輸入mongod (或者使用 sudo service mongodb start 命令進行不堵塞終端的后台啟動方式,我這里是用的堵塞終端的啟動方式)
出現錯誤:exception in initAndListen: NonExistentPath: Data directory /data/db not found., terminating #提示缺少/data/db文件夾
創建文件夾:mkdir -p /data/db
再次啟動mongod:發現仍有錯誤:exception in initAndListen: IllegalOperation: Attempted to create a lock file on a read-only directory: /data/db, terminating #提示/data/db文件夾的權限為只讀
修改文件夾權限:sudo chmod a+w /data/db #將文件夾權限設置為可寫入
再次啟動mongod,仍有錯誤:Failed to set up listener: SocketException: Address already in use #提示地址已經被占用
看一下mongodb當前的連接情況:ps -ef|grep mongo
mongodb 52874 1 0 10:27 ? 00:00:05 /usr/bin/mongod --unixSocketPrefix=/run/mongodb --config /etc/mongodb.conf
horace 53796 53687 0 10:43 pts/1 00:00:00 grep --color=auto mongo
果然已經啟動了
那么我們重啟一次:進入mongodb客戶端:輸入:mongo
然后輸入:
use admin
db.shutdownServer() #關閉MongoDB服務器端
再次啟動試試: mongod
成功!
安裝個MongoDB真不容易,不知道是不是我的安裝有問題,才會有這么多問題。