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ù)庫(kù)的安裝過(guò)程
2.2 解壓軟件包后拷貝到/usr/local/mongodb目錄下
2.3 要?jiǎng)?chuàng)建MongoDB數(shù)據(jù)和日志目錄,默認(rèn)情況下,MongoDB使用mongod用戶(hù)帳戶(hù)運(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)容:
保存后通過(guò)下面的命令使環(huán)境變量生效:
# source /etc/profile
2.6 創(chuàng)建mongodb配置文件
源碼包默認(rèn)沒(méi)有mongodb配置文件的,需要自己創(chuàng)建
文件位置:/usr/local/mongodb/mongodb.conf 文件內(nèi)容如下:
port=27017 #端口
dbpath= /usr/local/mongodb/data #數(shù)據(jù)庫(kù)存文件存放目錄
logpath= /usr/local/mongodb/logs/mongodb.log #日志文件存放路徑
logappend=true #使用追加的方式寫(xiě)日志
fork=true #以守護(hù)進(jìn)程的方式運(yùn)行,創(chuàng)建服務(wù)器進(jìn)程
maxConns=100 #最大同時(shí)連接數(shù)
noauth=true #不啟用驗(yàn)證
journal=true #每次寫(xiě)入會(huì)記錄一條操作日志(通過(guò)journal可以重新構(gòu)造出寫(xiě)入的數(shù)據(jù))。
#即使宕機(jī),啟動(dòng)時(shí)wiredtiger會(huì)先將數(shù)據(jù)恢復(fù)到最近一次的checkpoint點(diǎn),然后重放后續(xù)的journal日志來(lái)恢復(fù)。
storageEngine=wiredTiger #存儲(chǔ)引擎有mmapv1、wiretiger、mongorocks
bind_ip = 0.0.0.0 #這樣就可外部訪問(wèn)了,例如從win10中去連虛擬機(jī)中的MongoDB
2.7 啟動(dòng)mongodb數(shù)據(jù)庫(kù)
# mongod -f /usr/local/mongodb/mongodb.conf
2.8 登入mongodb數(shù)據(jù)庫(kù)
MongoDB默認(rèn)用戶(hù)認(rèn)證是關(guān)閉的。默認(rèn)情況下沒(méi)有管理員帳戶(hù)。輸入mongo 指令可直接登入Mongodb數(shù)據(jù)庫(kù), 登入后可以查看到MongoDB數(shù)據(jù)庫(kù)的版本號(hào),可以進(jìn)行數(shù)據(jù)庫(kù)的操作。
2.9 創(chuàng)建管理員用戶(hù),開(kāi)啟用戶(hù)登錄認(rèn)證
2.9.1開(kāi)啟MongoDB數(shù)據(jù)庫(kù)用戶(hù)驗(yàn)證功能,需要修改Mongodb數(shù)據(jù)庫(kù)的主配置文件。編輯vi /usr/local/mongodb/mongodb.conf
設(shè)置noauth=false 即可啟用用戶(hù)驗(yàn)證
2.9.2進(jìn)入到管理數(shù)據(jù)庫(kù)
> use admin;
2.9.3 查看管理用戶(hù)root , 角色為root(只在admin數(shù)據(jù)庫(kù)中可用。 超級(jí)賬號(hào),超級(jí)權(quán)限)。
2.9.4 查看創(chuàng)建的管理員用戶(hù)root
2.9.5 驗(yàn)證用戶(hù)能否用
格式 db.auth(“用戶(hù)名”,”用戶(hù)密碼”) ,返回1為用戶(hù)驗(yàn)證成功。
2.9.6 重啟mongod服務(wù)
# killall mongod
# mongod -f /usr/local/mongodb/mongodb.conf
2.9.7 效果測(cè)試
對(duì)比 2.8 可以看出開(kāi)啟了用戶(hù)權(quán)限驗(yàn)證后再用mongo命令登入數(shù)據(jù)庫(kù),不能查看當(dāng)前實(shí)例下的數(shù)據(jù)庫(kù)列表信息,查看集合的時(shí)候會(huì)報(bào)查詢(xún)錯(cuò)誤、查詢(xún)失敗。
接下來(lái)我用剛才創(chuàng)建的root用戶(hù)來(lái)登錄Mongodb數(shù)據(jù)庫(kù),
# mongo -uroot -pyang123456 看下效果
可以看到用戶(hù)root是超級(jí)賬號(hào),具有超級(jí)權(quán)限。
海騰公告海騰數(shù)據(jù)最新新聞公告
400-6717-361
Copyright© 2004-2020 河南海騰電子技術(shù)有限公司 版權(quán)所有 經(jīng)營(yíng)性ICP/ISP證 備案號(hào):B1-20180452 豫公網(wǎng)安備 41019702002018號(hào) 電子營(yíng)業(yè)執(zhí)照