centos8安裝MongoDB的詳細(xì)過(guò)程
MongoDB是什么:
MongoDB是一個(gè)棉線(xiàn)文檔的開(kāi)源NoSQL數(shù)據(jù)庫(kù)管理系統(tǒng)。
MongoDB是一個(gè)開(kāi)源,跨平臺(tái),面向文檔的數(shù)據(jù)庫(kù)管理系統(tǒng)。MongoDB是NoSQL(不僅是SQL)數(shù)據(jù)庫(kù)軟件。MongoDB使用帶有模式的文檔之類(lèi)的JSON(JavaScript對(duì)象表示法)。MongoDB由MongoDB Inc開(kāi)發(fā),并根據(jù)SSPL(服務(wù)器端公共許可證)進(jìn)行分發(fā)。
centos8中安裝MongoDB yum存儲(chǔ)庫(kù):
1.在/etc/yum.repo.d目錄中創(chuàng)建一個(gè)回購(gòu)文件,以在CentOS 8服務(wù)器中安裝MongoDB yum存儲(chǔ)庫(kù)。
vim /etc/yum.repos.d/mongodb-org-4.4.repo 在此文件中添加以下配置: [mongodb-org-4.4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
2.為MongoDB存儲(chǔ)庫(kù)構(gòu)建緩存。
dnf clean all dnf makecache dnf repolist
centos8中為MongoDB設(shè)置資源限制:
我們需要根據(jù)MongoDB軟件的要求在centos8服務(wù)器中設(shè)置資源限制。
為此,為MongoDB創(chuàng)建資源限制配置文件,如下:
vim /etc/security/limits.d/mongod.conf 并在其中添加以下資源限制: mongod soft nproc 64000 mongod hard nproc 64000 mongod soft nofile 64000 mongod hard nofile 64000
在centos8上安裝MongoDB數(shù)據(jù)庫(kù):
1.我們可以從新添加的yum存儲(chǔ)庫(kù)在centos 8服務(wù)器上安裝MongoDB:
dnf list -y mongodb-org dnf -y install mongodb-org
2.啟用并啟動(dòng)MongoDB數(shù)據(jù)庫(kù)服務(wù)。
systemctl enable --now mongod.service
3.啟動(dòng)成功后,檢查MongoDB的服務(wù)狀態(tài)和端口監(jiān)聽(tīng)信息。
systemctl status mongod.service
netstat -anplt|grep mongod
centos8上為MongoDB創(chuàng)建selinux策略:
1.如果您已將selinux配置為強(qiáng)制模式,則必須為MongoDB創(chuàng)建selinux策略。
檢查當(dāng)前的selinux模式:
getenforce
2.我們需要checkpolicy命令來(lái)驗(yàn)證自定義selinux策略,安裝checkpolicy。
dnf -y install checkpolicy
3.創(chuàng)建一個(gè)定制的selinux策略文件。
vim mongodb_cgroup_memory.te 在文件中添加以下指令: module mongodb_cgroup_memory 1.0; require { type cgroup_t; type mongod_t; class dir search; class file { getattr open read }; } #============= mongod_t ============== allow mongod_t cgroup_t:dir search; allow mongod_t cgroup_t:file { getattr open read };
4.編譯并應(yīng)用此selinux策略。
checkmodule -M -m -o mongodb_cgroup_memory.mod mongodb_cgroup_memory.te semodule_package -o mongodb_cgroup_memory.pp -m mongodb_cgroup_memory.mod semodule -i mongodb_cgroup_memory.pp
MongoDB中創(chuàng)建管理員用戶(hù):
默認(rèn)情況下,MongoDB服務(wù)器重未啟用訪(fǎng)問(wèn)控制,因此任何人都可以訪(fǎng)問(wèn)MongoDB服務(wù)器并執(zhí)行管理操作。
所以我們需要?jiǎng)?chuàng)建一個(gè)admin用戶(hù)并在MongoDB服務(wù)器中啟用訪(fǎng)問(wèn)控制。
連接MongoDB shell:
mongo
連接管理數(shù)據(jù)庫(kù):
> use admin; switched to db admin >
創(chuàng)建管理員用戶(hù):
> db.createUser( ... { ... user: "admin", ... pwd: "xu123", ... roles: [ { role: "userAdminAnyDatabase",db: "admin" } ] ... } ... )
列出MongoDB數(shù)據(jù)庫(kù)中所有用戶(hù)。
> show users
MongoDB服務(wù)器中啟用訪(fǎng)問(wèn)控制:
最初,訪(fǎng)問(wèn)控制在MongoDB服務(wù)器中被禁用。因此,任何具有centos 8服務(wù)器操作系統(tǒng)級(jí)訪(fǎng)問(wèn)權(quán)限的用戶(hù)都可以連接到MongoDB實(shí)例并在數(shù)據(jù)庫(kù)上執(zhí)行管理操作。這就是為什么我們能夠在上一步中創(chuàng)建管理員用戶(hù)而無(wú)需任何身份驗(yàn)證的原因。
要為MongoDB服務(wù)器啟用訪(fǎng)問(wèn)控制,我們需要為MongoDB.service編輯systemd單元文件。
vim /usr/lib/systemd/system/mongod.service 在此文件中找到以下行: Environment="OPTIONS=-f /etc/mongod.conf" 將其替換成: Environment="OPTIONS=--auth -f /etc/mongod.conf"
重載systemd并重新啟動(dòng)MongoDB服務(wù)以更改應(yīng)用
systemctl daemon-reload systemctl restart mongod.service
要檢查訪(fǎng)問(wèn)控制,連接MongoDB shell并執(zhí)行一些管理命令
mongo use admin show users
這次“show user”命令引發(fā)身份驗(yàn)證錯(cuò)誤,它確認(rèn)在我們的MongoDB服務(wù)器中已啟用訪(fǎng)問(wèn)控制。
現(xiàn)在,以管理員用戶(hù)身份連接。
> db.auth("admin",passwordPrompt()) Enter password: ###輸入我們前面設(shè)置的是密碼
現(xiàn)在,執(zhí)行相同的命令,以檢查其是否正常運(yùn)行。
show user
已成功使用特權(quán)用戶(hù)執(zhí)行命令“顯示用戶(hù)”。
MongoDB數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn)控制已啟用。
MongoDB數(shù)據(jù)庫(kù)和日志目錄:
以下是兩個(gè)目錄,對(duì)MongoDB數(shù)據(jù)庫(kù)管理員來(lái)說(shuō)非常重要。
/var/lib/mongo-數(shù)據(jù)目錄(默認(rèn))
/var/log/mongodb-日志目錄(默認(rèn))
我們可以通過(guò)在/etc/mongodb.conf文件中設(shè)置以下參數(shù)來(lái)自定義以上目錄。
storage.dbPath-指定新的數(shù)據(jù)目錄路徑
systemLog.path-指定新的日志文件路徑
到此這篇關(guān)于centos8安裝MongoDB的文章就介紹到這了,更多相關(guān)centos8安裝MongoDB內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于mongodb版本升級(jí)問(wèn)題
這篇文章主要介紹了關(guān)于mongodb版本升級(jí)問(wèn)題,具有很好的參考價(jià)值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02mongodb 實(shí)現(xiàn)遠(yuǎn)程連接
這篇文章主要介紹了mongodb 實(shí)現(xiàn)遠(yuǎn)程連接,需要的朋友可以參考下2014-07-07在Linux服務(wù)器中配置mongodb環(huán)境的步驟
這篇文章主要介紹了在Linux服務(wù)器中配置mongodb環(huán)境的步驟,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07高效mongodb的php分頁(yè)類(lèi)(不使用skip)
這篇文章主要介紹了高效mongodb的php分頁(yè)類(lèi),并且沒(méi)有使用mongodb的skip來(lái)實(shí)現(xiàn)分頁(yè),需要的朋友可以參考下2014-05-05MongoDB 數(shù)據(jù)庫(kù)的命名、設(shè)計(jì)規(guī)范詳解
隨著MongoDB的普及和使用量的快速增長(zhǎng),為了規(guī)范使用,便于管理和獲取更高的性能,整理此文檔2020-02-02詳解清除MongoDB所占用的多余的磁盤(pán)空間的方法
MongoDB不會(huì)自動(dòng)進(jìn)行垃圾文件清理,不過(guò)我們可以借助自帶的repairDatabase等功能來(lái)實(shí)現(xiàn),下面我們就來(lái)詳解清除MongoDB所占用的多余的磁盤(pán)空間的方法,附帶一個(gè)如何格式化mongo shell的輸出的小技巧:2016-06-06