centos8安裝MongoDB的詳細(xì)過程
MongoDB是什么:
MongoDB是一個(gè)棉線文檔的開源NoSQL數(shù)據(jù)庫管理系統(tǒng)。
MongoDB是一個(gè)開源,跨平臺,面向文檔的數(shù)據(jù)庫管理系統(tǒng)。MongoDB是NoSQL(不僅是SQL)數(shù)據(jù)庫軟件。MongoDB使用帶有模式的文檔之類的JSON(JavaScript對象表示法)。MongoDB由MongoDB Inc開發(fā),并根據(jù)SSPL(服務(wù)器端公共許可證)進(jìn)行分發(fā)。
centos8中安裝MongoDB yum存儲庫:
1.在/etc/yum.repo.d目錄中創(chuàng)建一個(gè)回購文件,以在CentOS 8服務(wù)器中安裝MongoDB yum存儲庫。
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存儲庫構(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ù)庫:
1.我們可以從新添加的yum存儲庫在centos 8服務(wù)器上安裝MongoDB:
dnf list -y mongodb-org dnf -y install mongodb-org
2.啟用并啟動MongoDB數(shù)據(jù)庫服務(wù)。
systemctl enable --now mongod.service
3.啟動成功后,檢查MongoDB的服務(wù)狀態(tài)和端口監(jiān)聽信息。
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命令來驗(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)建管理員用戶:
默認(rèn)情況下,MongoDB服務(wù)器重未啟用訪問控制,因此任何人都可以訪問MongoDB服務(wù)器并執(zhí)行管理操作。
所以我們需要創(chuàng)建一個(gè)admin用戶并在MongoDB服務(wù)器中啟用訪問控制。
連接MongoDB shell:
mongo
連接管理數(shù)據(jù)庫:
> use admin; switched to db admin >
創(chuàng)建管理員用戶:
> db.createUser( ... { ... user: "admin", ... pwd: "xu123", ... roles: [ { role: "userAdminAnyDatabase",db: "admin" } ] ... } ... )
列出MongoDB數(shù)據(jù)庫中所有用戶。
> show users
MongoDB服務(wù)器中啟用訪問控制:
最初,訪問控制在MongoDB服務(wù)器中被禁用。因此,任何具有centos 8服務(wù)器操作系統(tǒng)級訪問權(quán)限的用戶都可以連接到MongoDB實(shí)例并在數(shù)據(jù)庫上執(zhí)行管理操作。這就是為什么我們能夠在上一步中創(chuàng)建管理員用戶而無需任何身份驗(yàn)證的原因。
要為MongoDB服務(wù)器啟用訪問控制,我們需要為MongoDB.service編輯systemd單元文件。
vim /usr/lib/systemd/system/mongod.service 在此文件中找到以下行: Environment="OPTIONS=-f /etc/mongod.conf" 將其替換成: Environment="OPTIONS=--auth -f /etc/mongod.conf"
重載systemd并重新啟動MongoDB服務(wù)以更改應(yīng)用
systemctl daemon-reload systemctl restart mongod.service
要檢查訪問控制,連接MongoDB shell并執(zhí)行一些管理命令
mongo use admin show users
這次“show user”命令引發(fā)身份驗(yàn)證錯誤,它確認(rèn)在我們的MongoDB服務(wù)器中已啟用訪問控制。
現(xiàn)在,以管理員用戶身份連接。
> db.auth("admin",passwordPrompt()) Enter password: ###輸入我們前面設(shè)置的是密碼
現(xiàn)在,執(zhí)行相同的命令,以檢查其是否正常運(yùn)行。
show user
已成功使用特權(quán)用戶執(zhí)行命令“顯示用戶”。
MongoDB數(shù)據(jù)庫的訪問控制已啟用。
MongoDB數(shù)據(jù)庫和日志目錄:
以下是兩個(gè)目錄,對MongoDB數(shù)據(jù)庫管理員來說非常重要。
/var/lib/mongo-數(shù)據(jù)目錄(默認(rèn))
/var/log/mongodb-日志目錄(默認(rèn))
我們可以通過在/etc/mongodb.conf文件中設(shè)置以下參數(shù)來自定義以上目錄。
storage.dbPath-指定新的數(shù)據(jù)目錄路徑
systemLog.path-指定新的日志文件路徑
原文連接
到此這篇關(guān)于centos8安裝MongoDB的文章就介紹到這了,更多相關(guān)centos8安裝MongoDB內(nèi)容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。