MongoDB 錯誤集合

運行./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 參數

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章