在 Linux 上 CentOS 系統中安裝 MongoDB 資料庫

在網上找了很多這方面的教程,很難安裝成功,有些是系統環境不一樣,有些根本就安裝不成功,只是當時作者在安裝的時候成功了,換個環境就安裝不上,這篇文章是我找了多個安裝教程的總結。

登入 Linux 切換到 /usr 目錄

下載 MongoDB 安裝包

cd /usrwget https://fastdl。mongodb。org/linux/mongodb-linux-x86_64-4。0。0。tgz

解壓

mongodb-linux-x86_64-4。0。0。tgz

檔案

tar zxvf mongodb-linux-x86_64-4。0。0。tgz

重新命名為 mongodb 資料夾

mv mongodb-linux-x86_64-4。0。0 mongodb

配置環境變數

vim /etc/profile

在 export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL 一行的上面新增如下內容:

#Set Mongodbexport PATH=/usr/mongodb/bin:$PATH

儲存後透過下面的命令使環境變數生效:

source /etc/profile

建立資料庫目錄並設定許可權

cd /usr/mongodbtouch mongodb。confmkdir dbchmod 777 dbmkdir logchmod 777 logcd logtouch mongodb。log

編輯配置檔案

vim /usr/mongodb/mongodb。conf

輸入下面的配置資訊

port = 27017 #埠dbpath = /usr/mongodb/db #資料庫存檔案存放目錄logpath = /usr/mongodb/log/mongodb。log #日誌檔案存放路徑logappend = true #使用追加的方式寫日誌fork = true #以守護程序的方式執行,建立伺服器程序maxConns = 100 #最大同時連線數noauth=true #不啟用驗證journal = true #每次寫入會記錄一條操作日誌(透過journal可以重新構造出寫入的資料)。#即使宕機,啟動時 wiredtiger 會先將資料恢復到最近一次的checkpoint點,然後重放後續的journal日誌來恢復。storageEngine = wiredTiger #儲存引擎有mmapv1、wiretiger、mongorocksbind_ip = 127。0。0。1 #這樣就可外部訪問了,例如從win10中去連虛擬機器中的MongoDB

注意如果你的 mongodb 的檔案不是在 /usr 目錄下,需要修改上面配置的相關路徑。

啟動 mongodb

mongod -f /usr/mongodb/mongodb。conf #啟動mongod ——shutdown -f /usr/mongodb/mongodb。conf #停止

另外如果在寫資料的時候重啟系統,會導致 Mongodb 報錯,嚴重的甚至無法啟動,我有一次就是系統無法響應,直接重啟了系統,然後 Mongodb 死活啟動不了,最後刪除了重新配置。

配置外網訪問 Mongodb

外網訪問是不安全的,但是我們設定足夠強大的密碼,應該還是可以放心使用。

修改配置檔案

vim /usr/mongodb/mongodb。conf

noauth

設定

false

bind_ip

修改為

0。0。0。0

,新增一行

auth = true

登入到資料庫

mongo

使用 admin 資料庫

use admin

給 admin 資料庫新增管理員使用者名稱和密碼,使用者名稱和密碼請自行設定

db。createUser({user:“admin”, pwd:“123456”, roles:[“root”]})

驗證是否成功,返回1則代表成功

db。auth(“admin”, “123456”)

切換到要設定的資料庫,以 test 為例

use test

為 test 建立使用者,使用者名稱和密碼請自行設定。

db。createUser({user: “test”, pwd: “123456”, roles: [{ role: “dbOwner”, db: “test” }]})

輸入 exit 退出資料庫管理。

附錄1:CentOS 防火牆配置

預設情況下,CentOS 的防火牆是開啟的,而我們 27017 埠外部是無法訪問,我們需要配置下防火牆。

在 /usr/lib/firewalld/services 目錄新建 mongodb。xml 檔案

touch mongodb。xml

輸入下面的內容

<?xml version=“1。0” encoding=“utf-8”?>mongodbmongodb tcp

執行下面命令新增埠

firewall-cmd ——permanent ——add-service=mongodb

重啟防火牆

systemctl stop firewalld。servicesystemctl start firewalld。service

如果你要是嫌麻煩,你可以直接禁止防火牆

systemctl disable firewalld。service

檢視防火牆的狀態

systemctl status firewalld。service

刪除埠

firewall-cmd ——permanent ——remove-service=mongodb

附錄2:vim 常規操作

剛開始開啟檔案的時候是檢視模式,此時不能編輯檔案,但是如果你的剪下板有內容,點選滑鼠右鍵是能夠貼上的,但是還是檢視模式。

按鍵盤的 Ins 鍵進入 Insert 模式,此時可以自由的編輯了。

編輯完了按 Esc 退出編輯模式,儲存並退出按

:wq

,如果不想儲存

:q!

查詢內容,在檢視模式,按斜槓

/

輸入查詢內容,按 Enter 進入編輯模式。