centos7.2安裝和配置MongoDB

發(fā)布時間:2019/8/23 9:56:00

MongoDB的安裝和配置

2.1 從MongoDB官方下載適當(dāng)版本的軟件包,

https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.0.tgz

上傳到服務(wù)器上

下面以centos7.2 為例演示MongoDB數(shù)據(jù)庫的安裝過程

2.2 解壓軟件包后拷貝到/usr/local/mongodb目錄下

2.3 要創(chuàng)建MongoDB數(shù)據(jù)和日志目錄,默認(rèn)情況下,MongoDB使用mongod用戶帳戶運(yùn)行。創(chuàng)建后,將這些目錄的所有者和組設(shè)置為mongod:

2.4  為MongoDB配置SELinux

分別設(shè)置MongoDB數(shù)據(jù)目錄和MongoDB日志目錄的SELinux安全環(huán)境

2.5 配置環(huán)境變量

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

保存后通過下面的命令使環(huán)境變量生效:

# source /etc/profile

2.6 創(chuàng)建mongodb配置文件

源碼包默認(rèn)沒有mongodb配置文件的,需要自己創(chuàng)建

文件位置:/usr/local/mongodb/mongodb.conf 文件內(nèi)容如下:

port=27017 #端口

dbpath= /usr/local/mongodb/data #數(shù)據(jù)庫存文件存放目錄

logpath= /usr/local/mongodb/logs/mongodb.log #日志文件存放路徑

logappend=true #使用追加的方式寫日志

fork=true #以守護(hù)進(jìn)程的方式運(yùn)行,創(chuàng)建服務(wù)器進(jìn)程

maxConns=100 #最大同時連接數(shù)

noauth=true #不啟用驗(yàn)證

journal=true #每次寫入會記錄一條操作日志(通過journal可以重新構(gòu)造出寫入的數(shù)據(jù))。

#即使宕機(jī),啟動時wiredtiger會先將數(shù)據(jù)恢復(fù)到最近一次的checkpoint點(diǎn),然后重放后續(xù)的journal日志來恢復(fù)。

storageEngine=wiredTiger  #存儲引擎有mmapv1、wiretiger、mongorocks

bind_ip = 0.0.0.0  #這樣就可外部訪問了,例如從win10中去連虛擬機(jī)中的MongoDB

2.7 啟動mongodb數(shù)據(jù)庫

# mongod -f /usr/local/mongodb/mongodb.conf

2.8 登入mongodb數(shù)據(jù)庫

MongoDB默認(rèn)用戶認(rèn)證是關(guān)閉的。默認(rèn)情況下沒有管理員帳戶。輸入mongo 指令可直接登入Mongodb數(shù)據(jù)庫, 登入后可以查看到MongoDB數(shù)據(jù)庫的版本號,可以進(jìn)行數(shù)據(jù)庫的操作。

2.9 創(chuàng)建管理員用戶,開啟用戶登錄認(rèn)證

2.9.1開啟MongoDB數(shù)據(jù)庫用戶驗(yàn)證功能,需要修改Mongodb數(shù)據(jù)庫的主配置文件。編輯vi /usr/local/mongodb/mongodb.conf

設(shè)置noauth=false 即可啟用用戶驗(yàn)證

2.9.2進(jìn)入到管理數(shù)據(jù)庫

> use admin;

2.9.3 查看管理用戶root , 角色為root(只在admin數(shù)據(jù)庫中可用。 超級賬號,超級權(quán)限)。

2.9.4 查看創(chuàng)建的管理員用戶root

2.9.5 驗(yàn)證用戶能否用

格式 db.auth(“用戶名”,”用戶密碼”) ,返回1為用戶驗(yàn)證成功。

2.9.6  重啟mongod服務(wù)

# killall  mongod

#  mongod -f /usr/local/mongodb/mongodb.conf

2.9.7  效果測試

對比 2.8 可以看出開啟了用戶權(quán)限驗(yàn)證后再用mongo命令登入數(shù)據(jù)庫,不能查看當(dāng)前實(shí)例下的數(shù)據(jù)庫列表信息,查看集合的時候會報查詢錯誤、查詢失敗。

接下來我用剛才創(chuàng)建的root用戶來登錄Mongodb數(shù)據(jù)庫,

# mongo -uroot -pyang123456 看下效果

可以看到用戶root是超級賬號,具有超級權(quán)限。



Copyright© 2004-2020 河南海騰電子技術(shù)有限公司 版權(quán)所有   經(jīng)營性ICP/ISP證 備案號:B1-20180452   豫公網(wǎng)安備 41019702002018號    電子營業(yè)執(zhí)照