1. 程式人生 > >windows系統mongodb配置服務及設定密碼

windows系統mongodb配置服務及設定密碼

注:筆者使用的MongoDB版本是3.6,其他的版本是否這樣配置,我也沒測試過。

一、配置服務

首先,在你的mongodb目錄下新建兩個資料夾,一個存放資料的data資料夾,一個存放日誌的logs資料夾。


然後在logs資料夾下再建一個mongod.log檔案


都建好之後,繼續往下看。。

方法1:直接輸入指令

開啟命令列,進入到mongodb的bin資料夾下

執行指令:

mongod.exe --dbpath="D:\mongodb\data" --logpath="D:\mongodb\logs\mongod.log" --install

方法2:使用配置檔案

在mongodb目錄下建立一個config的資料夾,


然後在config的資料夾下再建立一個mongod.cfg檔案(注:檔案編碼為UTF-8格式) ,檔案內容如下:

systemLog:
    destination: file
    path: D:\mongodb\logs\mongod.log
    logAppend: true
storage:
    dbPath: D:\mongodb\data

(注:不能使用tab鍵佔位,會報錯!需要佔位請使用空格鍵)

弄好後,回到命令列,輸入指令:

mongod.exe --config "D:\mongodb\config\mongod.cfg" --install

引數解釋:

--dbpath : 資料存放的路徑;

--logpath:日誌存放的路徑;

--config : 配置檔案存放的路徑

--install : 配置windows服務的必要引數

如果一切都很順利沒有報錯,那麼恭喜你,mongodb服務已經配好了!!!

開啟windows服務你會發現多了一個MongoDB的服務在裡面


啟動MongoDB的指令:

net start MongoDB

關閉MongoDB的指令:

net stop MongoDB

記錄一下所踩的坑:

1.提示:exception in initAndListen: 12596 old lock file, terminating

解決辦法 : 刪除data目錄下.lock檔案

2.提示:Error parsing YAML config file: yaml-cpp: error at line 2, column 13: illegal map value
try 'mongod.exe --help' for more information

解決辦法:將tab佔位符改為空格

二、設定密碼

首先,連線到MongoDB建立管理員

use admin
db.createUser(
  {
    user: "root",
    pwd: "123456",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)
建立成功之後,把剛剛配的windows MongoDB服務幹掉
sc delete MongoDB

刪除成功後,重新配置一下windows MongoDB服務
mongod.exe --auth --config "D:\mongodb\config\mongod.cfg" --install

如無意外,mongodb安全驗證已經配置好了。

引數解析:

--auth: 安全驗證

啟動一下MongoDB服務

net start MongoDB
連線到資料庫之後,操作如果出現下圖提示:



則需驗證之後才能操作了

use admin
db.auth("root","123456")

使用者操作文件

https://docs.mongodb.com/manual/reference/method/db.createUser/