@[toc](mongodb 啓動事項(啓動失敗解決方案))
啓動腳本
-dbpath
: 數據文件存放地址--logpath
: 日誌文件存放地址(注意這個是文件不是地址)-fork
: 後臺啓動(需要配合--logpath
或者--syslog
使用)--auth
: 是否要進行用戶認證
./mongod -dbpath="~/data" --logpath="~/log/mongo" -fork -auth &
帶auth認證的
需要檢驗身份的, 一般都是用這個模式啓動, 然後給不同場景分配不同的角色和權限
mongod --dbpath "/home/ciyun/mongodb3.2.10/data" --auth --logpath "/home/ciyun/mongodb3.2.10/log/mongodb.log" --logappend --fork &
不帶auth認證的
不帶 auth
啓動比較少用到(不安全, 只要知道地址就能夠登陸), 一般就用這個模式啓動上去創建好角色然後就重啓改爲 auth
模式了
mongod --dbpath "/home/ciyun/mongodb3.2.10/data" --logpath "/home/ciyun/mongodb3.2.10/log/mongodb.log" --logappend --fork &
錯誤啓動案例
error number 1
$ about to fork child process, waiting until server is ready for connections.
forked process: 25374
ERROR: child process failed, exited with error number 1
錯誤1
一般是由於啓動配置錯誤導致的, 檢查下啓動腳本中數據和日誌的配置地址是否正確
error number 100
number 100
出現的原因可能是由於異常終止服務導致的服務鎖
解決方案:
- 到
data
所在目錄清楚掉.lock
結尾的文件- 到
log
所在目錄清楚掉多餘的日誌文件(有需要的話想備份舊日誌)- 使用
--repair
模式啓動, 該模式會生成一個啓動日誌可以再裏面看具體啓動失敗的原因
命令示例:./mongod --dbpath=~/data --logpath=!/log/mongo --repair
地址改成對應的- 再嘗試用正常的啓動命令啓動服務
其他錯誤處理
如果啓動不了則取看是否有日誌指明出錯原因, 如果沒有嘗試用 --repair
模式啓動然後看是否有可供參考的日誌生成, 有錯誤原因後面的事就好吧了
一般常見的錯誤就那麼幾種
- 啓動配置有問題
- 服務未停止重複啓動
- 端口已被佔用
- 系統資源不足以支持新服務啓動
實在不行重新下載個然後把
data
下的文件拷到新的地址, 並用新的mongodb
指向這個地址