MongoDB開源文檔數(shù)據(jù)庫。它屬于一個稱為NoSQL的數(shù)據(jù)庫家族,它與傳統(tǒng)關(guān)系型基于表的SQL數(shù)據(jù)庫不同,如MySQL和PostgreSQL。
在MongoDB中,數(shù)據(jù)存儲在靈活的JSON的文檔中,字段隨文檔的不同而不同。它不需要預(yù)定義的結(jié)構(gòu),并且數(shù)據(jù)結(jié)構(gòu)可以隨時間改變。
本教程介紹如何在Ubuntu 20.04安裝MongoDB Community Edition。在開始本教程之前請確保你以root或者具有sudo權(quán)限的用戶登錄。
安裝MongoDB
標(biāo)準(zhǔn)的Ubuntu 20.04倉庫包含過時的MongoDB版本。在Ubuntu 20.04安裝最新的MongoDB非常簡單。
在撰寫本文時,可從官方MongoDB倉庫獲得的最新版本的MongoDB是6.0版。如果你需要安裝5.0版本,請將命令的6.0替換為5.0。
首先將安裝導(dǎo)入MongoDB的GPG密鑰的軟件包,運(yùn)行apt命令。然后運(yùn)行wget導(dǎo)入GPG密鑰,運(yùn)行echo和tee的組合命令添加MongoDB軟件源。
sudo apt update
sudo apt install -y dirmngr wget gnupg apt-transport-https ca-certificates software-properties-common gnupg
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | sudo tee etc/apt/sources.list.d/mongodb-org-6.0.list
當(dāng)導(dǎo)入MongoDB的軟件源之后,運(yùn)行命令sudo apt install -y mongodb-org安裝MongoDB服務(wù)器以及所有工具。
如果你MongoDB運(yùn)行在Docker,可以運(yùn)行命令sudo apt install mongodb-org-shell mongodb-org-tools僅安裝MongoDB客戶端和MongoDB工具。
sudo apt update
sudo apt install -y mongodb-org
sudo apt install mongodb-org-shell mongodb-org-tools
在與MongoDB進(jìn)行交互時,首先啟動MongoDB服務(wù),運(yùn)行命令sudo systemctl enable --now mongod,該命令還會設(shè)置MongoDB的自動啟動。
要查看MongoDB服務(wù)運(yùn)行狀態(tài)請運(yùn)行命令sudo systemctl status mongod。
你也可以運(yùn)行命令mongo --eval 'db.runCommand({ connectionStatus: 1 })' 直接連接到Mongodb服務(wù)器,它將會打印當(dāng)前連接的狀態(tài)。ok字段的1值表示成功。
sudo systemctl enable mongod --now
sudo systemctl status mongod
當(dāng)你完成MongoDB安裝后,Ubuntu 20.04將會安裝mongodb-org-server以及相應(yīng)的初始化腳本和配置。
mongodb-org-shell也就是mongodb的客戶端,它是MongoDB的交互式JavaScript接口。它用于執(zhí)行命令行中的管理任務(wù)。
mongodb-org-tools包含用于導(dǎo)入和導(dǎo)出數(shù)據(jù),統(tǒng)計信息以及其他程序的MongoDB工具。
MongoDB 權(quán)限控制
MongoDB配置文件名為mongod.conf,位于/etc目錄中。該文件為YAML格式。
默認(rèn)配置設(shè)置在大多數(shù)情況下就足夠。但是,對于生產(chǎn)環(huán)境,我們建議取消對安全性部分的注釋并啟用授權(quán)。
配置文件中的authorization選項可啟用基于角色的訪問控制RBAC,該功能管理用戶對數(shù)據(jù)庫資源和操作的訪問。
如果禁用此選項,則每個用戶將有權(quán)訪問所有數(shù)據(jù)庫并執(zhí)行任何操作。如果你需要啟用此選項。請執(zhí)行以下步驟。
使用你喜歡的文本編輯器,打開文件etc/mongod.conf。在本教程中,我們將使用vim打開文件etc/mongod.conf。
然后使用vim搜索關(guān)鍵詞authorization,并定位此選項,然后啟用authorization授權(quán)驗證。
sudo vim etc/mongod.conf
sudo systemctl restart mongod
security:
authorization: enabled
etc/mongod.conf
完成后保存文件并退出vim,每次編輯MongoDB配置文件時,你都需要運(yùn)行命令sudo systemctl restart mongod重新啟動mongod服務(wù)以使更改生效。
要查找有關(guān)MongoDB中可用配置選項的更多信息,請訪問配置文件選項文檔頁面。
創(chuàng)建 MongoDB用戶
如果啟用了MongoDB身份驗證,則需要創(chuàng)建一個可以訪問和管理MongoDB實例的管理用戶。
首先使用mongodb客戶端連接MongoDB服務(wù)器。當(dāng)你進(jìn)入MongoDB Shell時運(yùn)行命令use admin切換到admin數(shù)據(jù)庫。
然后運(yùn)行createUser命令來創(chuàng)建用戶。其中user是用戶名,pwd是密碼,role的userAdminAnyDatabase也就是管理任何數(shù)據(jù)庫。
admin是MongoDB的內(nèi)置數(shù)據(jù)庫。不要忘記設(shè)置更安全的密碼。您可以根據(jù)需要命名MongoDB管理用戶。
mongo
use admin
db.createUser(
{
user: "mongoAdmin",
pwd: "changeMe",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
當(dāng)創(chuàng)建用戶完成后運(yùn)行命令quit()退出Mongo Shell。要測試更改,請以創(chuàng)建的管理用戶訪問Mongo Shell。
運(yùn)行命令mongo -u mongoAdmin -p --authenticationDatabase admin。-u選項表示指定用戶,--authenticationDatabase選項指定要在那個數(shù)據(jù)庫進(jìn)行驗證。
切換admin數(shù)據(jù)庫,然后運(yùn)行show users,您應(yīng)該看到新創(chuàng)建的用戶的信息。
mongo -u mongoAdmin -p --authenticationDatabase admin
use admin
show users
結(jié)論
我們向您展示了如何在Ubuntu 20.04安裝MongoDB。
-
數(shù)據(jù)庫
+關(guān)注
關(guān)注
7文章
4020瀏覽量
68369 -
Ubuntu
+關(guān)注
關(guān)注
5文章
613瀏覽量
33392 -
nosql
+關(guān)注
關(guān)注
0文章
39瀏覽量
10647 -
mongodb
+關(guān)注
關(guān)注
0文章
24瀏覽量
559
發(fā)布評論請先 登錄
MySQL和MongoDB的對比
阿里云數(shù)據(jù)庫MongoDB版架構(gòu)及安全解讀
redis和mongodb數(shù)據(jù)庫對比_redis、memcache、mongoDB 對比
mongoDb入門并整合springboot
【數(shù)據(jù)庫數(shù)據(jù)恢復(fù)】MongoDB數(shù)據(jù)庫數(shù)據(jù)遷移報錯的數(shù)據(jù)恢復(fù)案例
【數(shù)據(jù)庫數(shù)據(jù)恢復(fù)】MongoDB數(shù)據(jù)庫數(shù)據(jù)恢復(fù)案例
MongoDB數(shù)據(jù)庫文件損壞的數(shù)據(jù)恢復(fù)案例
PetaExpress云數(shù)據(jù)庫 MongoDB(mongodb數(shù)據(jù)庫)優(yōu)勢
數(shù)據(jù)庫數(shù)據(jù)恢復(fù)——MongoDB數(shù)據(jù)庫介紹和數(shù)據(jù)恢復(fù)案例
數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—MongoDB數(shù)據(jù)庫服務(wù)無法啟動并報錯數(shù)據(jù)恢復(fù)案例
MongoDB數(shù)據(jù)恢復(fù)—MongoDB數(shù)據(jù)庫文件損壞的數(shù)據(jù)恢復(fù)案例
MySQL數(shù)據(jù)庫的安裝
數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—Windows無法啟動MongoDB服務(wù)的數(shù)據(jù)恢復(fù)案例
數(shù)據(jù)庫數(shù)據(jù)恢復(fù)——MongoDB數(shù)據(jù)庫文件拷貝后服務(wù)無法啟動的數(shù)據(jù)恢復(fù)
數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—MongoDB數(shù)據(jù)庫文件丟失的數(shù)據(jù)恢復(fù)案例
MongoDB開源文檔數(shù)據(jù)庫的安裝
評論