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/