在 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”?>
執行下面命令新增埠
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 進入編輯模式。