【日積月累】MongoDB 註冊為 Window 服務時遇到的問題總結
阿新 • • 發佈:2018-11-10
一、Error creating service: 名稱已用作服務名或服務顯示名。 (1078)
啟動 MongoDB 服務總是很麻煩的,因此一般通過註冊為系統服務,隨系統啟動。一般是通過配置檔案啟動,配置檔案內容:
#ip繫結,限制ip訪問 bind_ip=192.168.88.88 #埠 port=20001 #資料庫配置路徑 dbpath=C:\MongoDB\data #日誌檔案配置 logpath=C:\MongoDB\log\mongo.log #設定日誌為追加的方式寫日誌 logappend=true #將預設的儲存引擎wiredTiger更換為mmapv1 #storageEngine=mmapv1 #啟用身份認證 #auth=true #複製集名稱 replSet=rs0
命令是:
mongod --config C:\MongoDB\conf\mongo.config --serviceName MongoDB --install
但是在我使用 cmd
進行註冊時,發現通過執行上面的程式碼不能註冊成功,於是我思考了一個這整個問題,想了一下,是不是執行上面這行程式碼需要管理員許可權才行,於是就 使用管理員許可權執行 cmd
再次執行上述程式碼,發現還是註冊不成功,於是,又想了一下,命名 mongod 是 MongoDB的命名,不是 Windows 的,會不會有日誌,我就按我配置檔案中配置的日誌路徑去尋找是否有日誌存在,果然,日誌是存在的,而且點開日誌發現有下面的報錯資訊:
2018-10-26T20:57:00.419+0800 I CONTROL [main] ***** SERVER RESTARTED *****
2018-10-26T20:57:00.817+0800 I CONTROL [main] Trying to install Windows service 'MongoDB'
2018-10-26T20:57:00.818+0800 I CONTROL [main] Error creating service: 名稱已用作服務名或服務顯示名。 (1078)
於是,首先第一步,確認系統沒有註冊名為 MongoDB
的服務,然後反覆百度之後發現 Windows 系統註冊服務時有引數 serviceDisplayName
mongod --config C:\MongoDB\conf\mongo.config --serviceName MongoDB --serviceDisplayName MongoDB --install
執行上面改過的程式碼檢視日誌:
2018-10-26T21:01:54.327+0800 I CONTROL [main] ***** SERVER RESTARTED *****
2018-10-26T21:01:54.734+0800 I CONTROL [main] Trying to install Windows service 'MongoDB'
2018-10-26T21:01:54.948+0800 I CONTROL [main] Service 'MongoDB' (MongoDB) installed with command line 'c:\MongoDB\bin\mongod.exe --config C:\MongoDB\conf\mongo.config --service'
2018-10-26T21:01:54.948+0800 I CONTROL [main] Service can be started from the command line with 'net start MongoDB'
成功註冊!
【持續更新】