前言
一份未整理的 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: trueMacOS
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
留言