centos8安裝MongoDB的詳細過程
MongoDB是什么:
MongoDB是一個棉線文檔的開源NoSQL數(shù)據(jù)庫管理系統(tǒng)。
MongoDB是一個開源,跨平臺,面向文檔的數(shù)據(jù)庫管理系統(tǒng)。MongoDB是NoSQL(不僅是SQL)數(shù)據(jù)庫軟件。MongoDB使用帶有模式的文檔之類的JSON(JavaScript對象表示法)。MongoDB由MongoDB Inc開發(fā),并根據(jù)SSPL(服務(wù)器端公共許可證)進行分發(fā)。
centos8中安裝MongoDB yum存儲庫:
1.在/etc/yum.repo.d目錄中創(chuàng)建一個回購文件,以在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配置為強制模式,則必須為MongoDB創(chuàng)建selinux策略。
檢查當前的selinux模式:
getenforce
2.我們需要checkpolicy命令來驗證自定義selinux策略,安裝checkpolicy。
dnf -y install checkpolicy
3.創(chuàng)建一個定制的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)建管理員用戶:
默認情況下,MongoDB服務(wù)器重未啟用訪問控制,因此任何人都可以訪問MongoDB服務(wù)器并執(zhí)行管理操作。
所以我們需要創(chuàng)建一個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ù)據(jù)庫上執(zhí)行管理操作。這就是為什么我們能夠在上一步中創(chuàng)建管理員用戶而無需任何身份驗證的原因。
要為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ā)身份驗證錯誤,它確認在我們的MongoDB服務(wù)器中已啟用訪問控制。
現(xiàn)在,以管理員用戶身份連接。
> db.auth("admin",passwordPrompt()) Enter password: ###輸入我們前面設(shè)置的是密碼
現(xiàn)在,執(zhí)行相同的命令,以檢查其是否正常運行。
show user
已成功使用特權(quán)用戶執(zhí)行命令“顯示用戶”。
MongoDB數(shù)據(jù)庫的訪問控制已啟用。
MongoDB數(shù)據(jù)庫和日志目錄:
以下是兩個目錄,對MongoDB數(shù)據(jù)庫管理員來說非常重要。
/var/lib/mongo-數(shù)據(jù)目錄(默認)
/var/log/mongodb-日志目錄(默認)
我們可以通過在/etc/mongodb.conf文件中設(shè)置以下參數(shù)來自定義以上目錄。
storage.dbPath-指定新的數(shù)據(jù)目錄路徑
systemLog.path-指定新的日志文件路徑
到此這篇關(guān)于centos8安裝MongoDB的文章就介紹到這了,更多相關(guān)centos8安裝MongoDB內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在Linux服務(wù)器中配置mongodb環(huán)境的步驟
這篇文章主要介紹了在Linux服務(wù)器中配置mongodb環(huán)境的步驟,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07MongoDB 數(shù)據(jù)庫的命名、設(shè)計規(guī)范詳解
隨著MongoDB的普及和使用量的快速增長,為了規(guī)范使用,便于管理和獲取更高的性能,整理此文檔2020-02-02