CentOS7.4 安裝mongodb


溫馨提示:我的環境是騰訊雲自帶的CentOS7.4 x64 鏡像,本地環境是win10 x64 專業版,ssh工具是用的win10 自帶的cmd, 遠程工具版本是Robo 3T 1.2.1 。
如果環境不一致,可能會出現無法預知的錯誤。

1、去官網找到安裝包地址,復制下來。
官網地址:https://www.mongodb.com/download-center?jmp=nav#community
我使用的安裝包地址:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.0.tgz

2、使用SSH登錄服務器,找一個文件夾存放安裝包,我這里使用的是 /usr

cd /usr
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.0.tgz

 

第一步是定位到/usr文件夾,第二步是下載安裝包。


 
 

如圖所示進度到100%時,就是下載完成了。

3、解壓縮安裝包,並重命名文件夾。

tar zxvf mongodb-linux-x86_64-4.0.0.tgz
mv mongodb-linux-x86_64-4.0.0 mongodb

  

第一步是解壓縮,第二步是重命名,如圖所示。


 
解壓縮
 
重命名

4、配置環境變量

vim /etc/profile

 

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

Set Mongodb
export PATH=/usr/mongodb/bin:$PATH

 

保存后通過下面的命令使環境變量生效:

cd ~
source /etc/profile
 
設置環境變量

5、創建數據庫目錄

cd /usr/mongodb
touch mongodb.conf
mkdir db
mkdir log
cd log
touch mongodb.log

 

6、修改mongodb配置文件。

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、mongorocks
bind_ip = 0.0.0.0  #這樣就可外部訪問了,例如從win10中去連虛擬機中的MongoDB

  

7、設置文件夾權限

cd /usr/mongodb
chmod 777 db
chmod 777 log

 

8、啟動mongodb

cd ~
mongod --config /usr/mongodb/mongodb.conf
網友指正:最新版本mongodb已經將--config 修改為 -f (本人尚未嘗試)

 

9、遠程連接mongodb
官網下載robo 3t https://robomongo.org/download
安裝完后配置。

 
點擊creat

 

 
請原封不動填寫
 
切換到ssh選項卡

 
按圖設置

點save保存


 
點連接

 
輸入服務器的登錄密碼

 
連接成功

10、如何關閉數據庫
查看pid

ps aux |grep mongodb

 

 
pid
sudo kill 5314

 

即可關閉數據庫

2018年7月30日補充:

授權登錄
在日常工作中我們不可能把數據庫設置為免認證登錄並暴露在公網下,所以我們需要為數據庫添加用戶名和密碼,具體操作如下:(文章來自ChasenKaos,轉發請注明。謝謝 原文:https://www.jianshu.com/p/994bc7b19b26

1、修改前文提到的conf文件,命令如下:

cd /usr/mongodb
vim mongodb.conf

 

打開后如圖:


 
image.png

我們把noauth那一行,前面加上#,注釋掉。
再在最后一行添加 auth = true
完整代碼如下:

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、mongorocks
bind_ip = 0.0.0.0  #這樣就可外部訪問了,例如從win10中去連虛擬機中的MongoDB
auth = true #用戶認證

  

保存退出。

2、關閉數據庫,前文已經提到了方法,我這里只做操作,如圖:


 
image.png

3、啟動數據庫,請參照前文方法,如圖:


 
image.png

插曲:在添加用戶名之前應該先執行./mongo命令先打開mongodb數據庫
來自網友@OldX_cea8

4、依次執行下列命令 添加用戶名

//使用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" }]})

 

執行完后,ctrl + c結束shell,並通過關閉,打開進行重啟數據庫。

5、通過robo 3t連接。
connection標簽頁


 
connection標簽頁

authentication標簽頁


 
authentication標簽頁

ssh標簽頁


 
ssh標簽頁

點擊save后,連接即可,如果出現報錯,請核對自己輸入的信息是否有誤。



作者:派大C
鏈接:https://www.jianshu.com/p/994bc7b19b26

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM