MongoDB 3.4 學(xué)習(xí)筆記 (一): Win10 安裝 MongoDB Community 3.4

0.1. Win10 安裝 MongoDB Community 3.4

0.1.1. 安裝位置及文件信息

從官網(wǎng)上下載 mongodb community 3.4 版,安裝(略)。

這里假設(shè)安裝目錄為: C:\Program Files\MongoDB\Server\3.4\.

目錄中文件的含義:

組件 程序
服務(wù)端 mongod.exe
路由 mongos.exe
客戶端 mongo.exe
監(jiān)視工具 mongostat.exe, mongotop.exe
導(dǎo)入導(dǎo)出工具 mongodump.exe, mongorestore.exe, mongoexport.exe, mongoimport.exe
其他工具 bsondump.exe, mongofiles.exe, mongooplog.exe, mongoperf.exe

0.1.2. 測(cè)試運(yùn)行 MongoDB

  1. 新建數(shù)據(jù)庫(kù)目錄
$ mkdir d:\data\db
  1. 運(yùn)行數(shù)據(jù)庫(kù)守護(hù)進(jìn)程(服務(wù)端)
$ "C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe" --dbpath d:\data\db
  1. 連接數(shù)據(jù)庫(kù)(客戶端)
$ "C:\Program Files\MongoDB\Server\3.4\bin\mongo.exe"

如果成功終端會(huì)顯示連接成功,但是沒(méi)有驗(yàn)證機(jī)制。

0.1.3. 正式配置 Windows 服務(wù)

  1. 新建數(shù)據(jù)庫(kù)目錄及日志目錄
$ mkdir c:\data\db
$ mkdir c:\data\log
  1. 新建配置文件

新建文件 C:\Program Files\MongoDB\Server\3.4\mongod.cfg 并輸入:

systemLog:
    destination: file
    path: c:\data\log\mongod.log
    logAppend: true
storage:
    dbPath: c:\data\db
    journal:
        enabled: true
net:
    bindIp: 127.0.0.1
    port: 27017
  1. 安裝 windows 服務(wù)
$ "C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe" --config "C:\Program Files\MongoDB\Server\3.4\mongod.cfg" --install --serviceName "MongoDB"

或者

sc.exe create MongoDB binPath= "\"C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe\" --service --config=\"C:\Program Files\MongoDB\Server\3.4\mongod.cfg\"" DisplayName= "MongoDB" start= "auto"
  1. 啟動(dòng) windows 服務(wù)
$ net start MongoDB
  1. 停止 windows 服務(wù)
$ net stop MongoDB
  1. 刪除 windows 服務(wù)
$ "C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe" --remove

啟動(dòng) windows 服務(wù)后,使用 mongo 命令即可連接但還沒(méi)有啟用驗(yàn)證機(jī)制。

$ mongo
MongoDB shell version v3.4.3
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.3
Server has startup warnings:
......
** WARNING: Access control is not enabled for the database.
Read and write access to data and configuration is unrestricted.
......

0.1.4. 激活授權(quán)

  1. 連接數(shù)據(jù)庫(kù)
$ mongo
  1. 在 admin 數(shù)據(jù)庫(kù)中添加一個(gè)用戶管理賬號(hào)
use admin
db.createUser(
  {
    user: "myUserAdmin",
    pwd: "abc123",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)

退出 shell

> exit
  1. 重新啟動(dòng)數(shù)據(jù)庫(kù)守護(hù)進(jìn)程(服務(wù)端)

在沒(méi)有啟用 windows 服務(wù)時(shí),可使用 mongod 命令:

mongod --auth --port 27017 --dbpath c:/data/db

使用 windows 服務(wù)可簡(jiǎn)化上述命令, 首先配置 mongodb 的 config 文件, 即文件 C:\Program Files\MongoDB\Server\3.4\mongod.cfg , 添加驗(yàn)證機(jī)制:

systemLog:
    destination: file
    path: c:\data\log\mongod.log
    logAppend: true
storage:
    dbPath: c:\data\db
    journal:
        enabled: true
net:
    bindIp: 127.0.0.1
    port: 27017
security:
    authorization: enabled

重新啟用 windows 服務(wù):

$ net stop MongoDB
MongoDB 服務(wù)正在停止.
MongoDB 服務(wù)已成功停止。
$ net start MongoDB
MongoDB 服務(wù)正在啟動(dòng) .
MongoDB 服務(wù)已經(jīng)啟動(dòng)成功。
  1. 使用用戶管理賬號(hào)登陸
$ mongo --port 27017 -u "myUserAdmin" -p "abc123" --authenticationDatabase "admin"
  1. 創(chuàng)建其他賬號(hào)

內(nèi)置角色:

  • 數(shù)據(jù)庫(kù)用戶角色
Role Short Description
read Provides the ability to read data on all non-system collections and on the following system collections: system.indexes, system.js, and system.namespaces collections.
readWrite Provides all the privileges of the read role and the ability to modify data on all non-system collections and the system.js collection.
  • 數(shù)據(jù)庫(kù)管理角色
Role Short Description
dbAdmin Provides the ability to perform administrative tasks such as schema-related tasks, indexing, gathering statistics. This role does not grant privileges for user and role management.
dbOwner Provides the ability to perform any administrative action on the database. This role combines the privileges granted by the readWrite, dbAdmin and userAdmin roles.
userAdmin Provides the ability to create and modify roles and users on the current database. Since the userAdmin role allows users to grant any privilege to any user, including themselves, the role also indirectly provides superuser access to either the database or, if scoped to the admin database, the cluster.
  • 所有數(shù)據(jù)庫(kù)角色
Role Short Description
readAnyDatabase Provides the same read-only permissions as read, except it applies to all but the local and config databases in the cluster. The role also provides the listDatabases action on the cluster as a whole.
readWriteAnyDatabase Provides the same read and write permissions as readWrite, except it applies to all but the local and config databases in the cluster. The role also provides the listDatabases action on the cluster as a whole.
userAdminAnyDatabase Provides the same access to user administration operations as userAdmin, except it applies to all but the local and config databases in the cluster.Since the userAdminAnyDatabase role allows users to grant any privilege to any user, including themselves, the role also indirectly provides superuser access.
dbAdminAnyDatabase Provides the same access to database administration operations as dbAdmin, except it applies to all but the local and config databases in the cluster. The role also provides the listDatabases action on the cluster as a whole.
  • 超級(jí)用戶角色
  • 集群管理角色
  • 備份恢復(fù)角色
  • 內(nèi)部角色
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容