mongoDB 安裝、啟動與連接


1、安裝

mongoDB 分社區版和企業版,普通用戶都安裝社區版
MongoDB 有兩種安裝方式:一種是 通過 yum 安裝,另一種是直接下載 安裝包 解壓就可以了。
yum安裝會自動做一些配置, 如生成配置文件,日志、數據庫存儲文件,及linux服務

# yum安裝會自動創建 文件夾
# 數據存儲位置
/var/lib/mongo
 
# 日志文件夾
/var/log/mongodb

# 生成配置文件
/etc/mongod.conf 

解壓安裝則需要手動創建,

詳情官網:https://docs.mongodb.com/manual/administration/install-on-linux/

2、啟動MongoDB 與 連接

啟動與關閉MongoDB

# 啟動
sudo systemctl start mongod

#查看狀態
sudo systemctl status mongod

#停止
sudo systemctl stop mongod

#服務自啟
sudo systemctl enable mongod

#也可以手動啟動 手動安裝命令在 /解壓包路徑/bin/mongod 
/usr/bin/mongod -f /etc/mongod.conf

#手動關閉
/usr/bin/mongod -f /etc/mongod.conf --shutdown

一個機器上安裝一個 mongodb,可以啟動多個實例。即可以 使用 不同的 配置文件(端口,dbpath,logpath都不同)啟動
配置文件參考:https://docs.mongodb.com/manual/reference/configuration-options/

啟動MongoDB服務后才能連接,連接后才能使用數據庫
連接MongoDB

#連接本機的mongo 且 默認配置 ,手動安裝命令在 /解壓包路徑/bin/mongo
/usr/bin/mongo 

# mongo 連接有兩種方式:
# 第一種: mongo  直接帶參數命令
mongo --host hostname --port port -username username -password pwd 

#如果配置了環境變量路徑直接
mongo

./mongo 127.0.0.1:27017/database -u root -p 123456

# 第二種 使用 連接字符串
# 完整命令
mongo "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,鍵值對之間通過&或;(分號)隔開

## 如果開啟了用戶認證,並使用 mongo命令 直接進入 shell
db.auth("userName", "123123");

# 使用用戶名fred,密碼foobar登錄localhost的baz數據庫
mongodb://fred:foobar@localhost/baz

# 連接復制集myRepl,讀取偏好 secondary
mongo "mongodb://db0.example.com,db1.example.com,db2.example.com/?replicaSet=myRepl&readPreference=secondary&maxStalenessSeconds=120"

# 設置了賬號密碼,且連接的數據庫和 賬號的所在數據庫不一致,需要設置 authSource 參數
# 實際連接的是 test 數據庫,但賬號密碼 是 admin 數據庫上的(設置了能操作其他數據庫的權限)
mongo "mongodb://username:pwd@db0.example.com,db1.example.com,db2.example.com/test?replicaSet=myRepl&readPreference=secondary&maxStalenessSeconds=120&authSource=admin"

options:

選項 描述
replicaSet=name 驗證replica set的名稱。 Impliesconnect=replicaSet.
slaveOk=true false
true:在connect=direct模式下,驅動會連接第一台機器,即使這台服務器不是主。在connect=replicaSet模式下,驅動會發送所有的寫請求到主並且把讀取操作分布在其他從服務器。
false: 在 connect=direct模式下,驅動會自動找尋主服務器. 在connect=replicaSet 模式下,驅動僅僅連接主服務器,並且所有的讀寫命令都連接到主服務器。
safe=true false
true: 在執行更新操作之后,驅動都會發送getLastError命令來確保更新成功。(還要參考 wtimeoutMS).
false: 在每次更新之后,驅動不會發送getLastError來確保更新成功。
w=n 驅動添加 { w : n } 到getLastError命令. 應用於safe=true。
wtimeoutMS=ms 驅動添加 { wtimeout : ms } 到 getlasterror 命令. 應用於 safe=true.
fsync=true false
true: 驅動添加 { fsync : true } 到 getlasterror 命令.應用於 safe=true.
false: 驅動不會添加到getLastError命令中。
journal=true false
connectTimeoutMS=ms 可以打開連接的時間。
socketTimeoutMS=ms 發送和接受sockets的時間。

mongo 命令連接:
https://docs.mongodb.com/v4.0/reference/connection-string/
https://docs.mongodb.com/v4.0/reference/program/mongo/index.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM