MongoDB 學習筆記

前言

一份未整理的 MongoDB 學習筆記






環境

GCP Linux Ubuntu 19.04






安裝

參考 官方文件






重啟

sudo service mongod restart






登入

無建立使用者

mongo


有建立使用者

mongo -u user -p password






設定檔位置

ubuntu

vim /etc/mongod.conf

vim /lib/systemd/system/mongod.service

MacOS

vim /usr/local/etc/mongod.conf






說明書

mongo --help






一般指令

  • 顯示 database

    show databases
  • 顯示 collections

    show collections
  • 顯示使用者

    use admin
    show users
  • 使用資料庫

    use databaseName
  • 刪除 user

    db.dropUser('User')
  • 變更密碼

    db.changeUserPassword('user', 'updatedPassword')






建立需驗證的 user

參考文件

  • 登入

    mongo --host <HOSTNAME> --port <PORT>
  • 切換到 admin 資料庫

    use admin
  • 建立 user

    db.createUser(
    {
    user: "superuser",
    pwd: "changeMeToAStrongPassword",
    roles: [ "root" ]
    }
    )
  • 驗證 user 是否成功建立

    show users
  • 關閉 MongoDB server

    db.shutdownServer()
  • 離開

    exit
  • 如果是用套件安裝,需要先更改設定。 編輯設定檔,並新增 uncomment security 欄位

    vim /etc/mongod.conf
  • 如下設定

    security:
    authorization: enabled
  • 重新啟動 MongoDB Server, dbPath 可以在設定檔裡面看到

    vim /etc/mongod.conf
  • ubuntu

    # Where and how to store data.
    storage:
    dbPath: /var/lib/mongodb
    journal:
    enabled: true
  • MacOS

    systemLog:
    destination: file
    path: /usr/local/var/log/mongodb/mongo.log
    logAppend: true
    storage:
    dbPath: /usr/local/var/mongodb
    net:
    bindIp: 127.0.0.1

    security:
    authorization: enabled
  • 執行下面指令重新啟動

    mongod --dbpath <path to data directory> --auth &






連接

連接語法

mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]

  • mongodb://這是固定的格式,必須要指定。
  • username:password@可選項,如果設置,在連接數據庫服務器之後,驅動都會嘗試登陸這個數據庫
  • host1必須的指定至少一個host, host1是這個URI唯一要填寫的。它指定了要連接服務器的地址。如果要連接複製集,請指定多個主機地址。
  • portX可選的指定端口,如果不填,默認為27017
  • /database如果指定username:password@,連接並驗證登陸指定數據庫。若不指定,默認打開test數據庫。
  • ?options是連接選項。如果不使用/database,則前面需要加上/。所有連接選項都是鍵值對name=value,鍵值對之間通過&或;(分號)隔開






讓外面可以連到資料庫

  • 更改 IP 如下
    # network interfaces
    net:
    port: 27017
    bindIp: 0.0.0.0
Google Cloud Pub/Sub 初探 - 控制面板 Cloud Storage 初探 - CLI/SDK

留言

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×