install 以前,iTerm2 下用 brew 查看已安裝軟件、搜索 mongodb:git
brew list brew search mongodb
安裝 mongodb :mongodb
brew install mongodb
此處須要稍等一段時間,成功後會輸出如下即說明安裝成功:shell
$ brew install mongodb Updating Homebrew... ==> Downloading https://homebrew.bintray.com/bottles/mongodb-3.4.0.sierra.bottle.1.tar.gz ######################################################################## 100.0% ==> Pouring mongodb-3.4.0.sierra.bottle.1.tar.gz ==> Caveats To have launchd start mongodb now and restart at login: brew services start mongodb Or, if you don't want/need a background service you can just run: mongod --config /usr/local/etc/mongod.conf ==> Summary /usr/local/Cellar/mongodb/3.4.0: 17 files, 261.4M
/usr/local/Cellar/mongodb這個就是MongoDB的路徑數據庫
進入環境配置vim
$ cd ~ $ vim .bash_profile
咱們須要把它放進環境裏:bash
export MONGO_PATH=/usr/local/Cellar/mongodb export PATH=$PATH:$MONGO_PATH/bin
新建一個 iTerm2 窗口,執行 mongod 嘗試啓動 mongodb 但會失敗 exiting:測試
bob@BobdeMacBook-Air:~$mongod 2018-04-11T22:55:22.412+0800 I CONTROL [initandlisten] MongoDB starting : pid=6961 port=27017 dbpath=/data/db 64-bit host=BobdeMacBook-Air.local 2018-04-11T22:55:22.412+0800 I CONTROL [initandlisten] db version v3.6.3 2018-04-11T22:55:22.412+0800 I CONTROL [initandlisten] git version: 9586e557d54ef70f9ca4b43c26892cd55257e1a5 2018-04-11T22:55:22.412+0800 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.2o 27 Mar 2018 2018-04-11T22:55:22.412+0800 I CONTROL [initandlisten] allocator: system 2018-04-11T22:55:22.412+0800 I CONTROL [initandlisten] modules: none 2018-04-11T22:55:22.412+0800 I CONTROL [initandlisten] build environment: 2018-04-11T22:55:22.412+0800 I CONTROL [initandlisten] distarch: x86_64 2018-04-11T22:55:22.412+0800 I CONTROL [initandlisten] target_arch: x86_64 2018-04-11T22:55:22.412+0800 I CONTROL [initandlisten] options: {} 2018-04-11T22:55:22.413+0800 I STORAGE [initandlisten] exception in initAndListen: IllegalOperation: Attempted to create a lock file on a read-only directory: /data/db, terminating 2018-04-11T22:55:22.413+0800 I CONTROL [initandlisten] now exiting 2018-04-11T22:55:22.413+0800 I CONTROL [initandlisten] shutting down with code:100 bob@BobdeMacBook-Air:~$
啓動 mongodb 以前,要先新建一個mongodb默認的數據寫入目錄:ui
$ mkdir -p /data/db mkdir: /data/db: Permission denied (沒有權限拒絕訪問) // sudo 並輸入密碼,從新新建目錄 $ sudo mkdir -p /data/db Password:
給剛纔新建的數據庫目錄賦予權限:rest
sudo chown -R guojc /data
此時,執行 mongod 啓動 mongodb 服務code
2018-04-11T23:08:19.325+0800 I CONTROL [initandlisten] MongoDB starting : pid=7681 port=27017 dbpath=/data/db 64-bit host=BobdeMacBook-Air.local 2018-04-11T23:08:19.328+0800 I CONTROL [initandlisten] db version v3.6.3 2018-04-11T23:08:19.328+0800 I CONTROL [initandlisten] git version: 9586e557d54ef70f9ca4b43c26892cd55257e1a5 2018-04-11T23:08:19.328+0800 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.2o 27 Mar 2018 2018-04-11T23:08:19.328+0800 I CONTROL [initandlisten] allocator: system 2018-04-11T23:08:19.328+0800 I CONTROL [initandlisten] modules: none 2018-04-11T23:08:19.328+0800 I CONTROL [initandlisten] build environment: 2018-04-11T23:08:19.328+0800 I CONTROL [initandlisten] distarch: x86_64 2018-04-11T23:08:19.328+0800 I CONTROL [initandlisten] target_arch: x86_64 2018-04-11T23:08:19.328+0800 I CONTROL [initandlisten] options: {} 2018-04-11T23:08:19.328+0800 I STORAGE [initandlisten] exception in initAndListen: IllegalOperation: Attempted to create a lock file on a read-only directory: /data/db, terminating 2018-04-11T23:08:19.328+0800 I CONTROL [initandlisten] now exiting 2018-04-11T23:08:19.328+0800 I CONTROL [initandlisten] shutting down with code:100 如今是成功了,等待鏈接,能夠Command + T 新建窗口打開
通常是能夠的,若是仍是exception: connect failed
當mongodb service 沒有運行的時候會發生這樣的錯誤
嘗試了新建一個/data/db 目錄,但不奏效
最後找到了以下方法解決
而後 在bash 輸入
brew services start mongodb
再輸入mongo進入數據庫
mongo
成功鏈接了:
bob@BobdeMacBook-Air:~$mongo MongoDB shell version v3.6.3 connecting to: mongodb://127.0.0.1:27017 MongoDB server version: 3.6.3 Server has startup warnings: 2018-04-11T22:59:01.723+0800 I CONTROL [initandlisten] 2018-04-11T22:59:01.723+0800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database. 2018-04-11T22:59:01.723+0800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted. 2018-04-11T22:59:01.723+0800 I CONTROL [initandlisten] > >
還能夠測試:
> show dbs admin 0.000GB local 0.000GB help