運行./mongo 時 connect time out 27017
開始按照網上的做法刪掉了lock文件,或者運行 –repair命令;但都不行。
最後發現運行 ./mongod 時會在
waiting for connections on port 27017
這句話後等待 (此時數據庫就已經啓動),查看端口已經發現了 27017 ,一直以爲有問題,其實這時候運行 ./mongo 即可。
新開一個終端後,再運行 ./mongo (注意沒有d) ,此時前一個窗口顯示:
[listener] connection accepted from 127.0.0.1:35226 #1 (1 connection now open)
現在就可以使用mongodb數據庫了
後臺啓動MongoDB
上面的方法啓動後是前臺方式,必須要有終端,否則關閉終端就會關閉數據庫。這當然不行,所以我們需要在後臺啓動。
後臺啓動MDB:
- 使用–fork參數啓動
mongod --fork --logpath <log_file_path> --dbpath <db_folder_path>
--fork 將mongod作爲後臺服務啓動,並必須要跟隨 --logpath 指定日誌文件路徑,如果該日誌文件不存在會被自動創建
--dbpath 數據的存儲目錄
關閉MDB服務:
- 使用shutdownServer()
# mongo // 從linux命令行進入mongod命令行
> use admin // 切換到管理員模式
> db.shutdownServer() // 關閉mongodb服務
- 使用 —shutdown
也可以使用–shutdown進行關閉。但要指定–dbpath,因爲一臺機器上可以運行着多個mongodb實例,避免誤殺。
mongod --shutdown --dbpath <db_folder_path>
- 使用 kill 命令
在Linux機器上也可以通過ps aux | grep mongo過濾出mongodb服務並找出對應的進程id後,使用kill命令進行關閉。
kill <mongod process ID>
kill -2 <mongod process ID>
但不要使用kill -9 (i.e. SIGKILL).
kill -9命令迫使進程在運行時突然終止,進程在結束後不能自我清理。可能導致系統資源無法正常釋放,一般不推薦使用,除非其他辦法都無效。前臺進程可以使用 Ctrl+C
當沒有使用–fork參數時,爲前臺進程,可以直接使用Ctrl+C關閉,或者直接關閉遠程會話。
無法遠程連接MDB
當你啓動MDB時看到這條警告:WARNING: This server is bound to localhost 請注意你將只能在本地連接MDB,後面也給了提示
Remote systems will be unable to connect to this server.
Start the server with --bind_ip <address> to specify which IP
addresses it should serve responses from, or with --bind_ip_all to
bind to all interfaces. If this behavior is desired, start the
server with --bind_ip 127.0.0.1 to disable this warning.
顯然啓動的時候要加上 –bind_ip_all 參數