新聞中心
replica set權(quán)限認(rèn)證
振安網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,振安網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為振安上1000+提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的振安做網(wǎng)站的公司定做!
要生一個(gè)keyfile文件,用于節(jié)點(diǎn)之間權(quán)限認(rèn)證的
mkdir -p /mnt/MongoDB/rs/config
cd /mnt/mongodb/rs/config
openssl rand -base64 741 > mongodb-keyfile
chmod 300 mongodb-keyfile
官網(wǎng)上的是600的,必須要改為300,如果不是的話(huà), 會(huì)在啟動(dòng)的時(shí)候mongodb.log里寫(xiě)權(quán)限太開(kāi)放的原因?qū)е聠?dòng)mongodb失?。。ㄟ@里先確保你已經(jīng)安裝了openssl,如果沒(méi)有裝,yum install openssl)
將mongodb-keyfile復(fù)制到每一個(gè)節(jié)點(diǎn)對(duì)應(yīng)的目錄下,如果之前已經(jīng)啟動(dòng)的mongodb的話(huà),用mongo進(jìn)入到終端后,先查看那個(gè)節(jié)點(diǎn)是主節(jié)點(diǎn),rs.status(); 去到主節(jié)點(diǎn)下執(zhí)行:
use admin #選擇需要認(rèn)證的數(shù)據(jù)
db.addUser('name','password');
當(dāng)然,也可以某一個(gè)自建的庫(kù)進(jìn)行權(quán)限認(rèn)證
use test1
db.addUser('test','123456');
提示添加成功后,全部停止,每一節(jié)點(diǎn)執(zhí)行db.shutdownServer();然后對(duì)mongod.conf文件添加以下兩行:
auth=true
keyFile=/mnt/mongodb/rs/confile/mongodb-keyfile
最后全部重啟即可!
進(jìn)入主節(jié)點(diǎn)終端,輸入
db.runCommand({getLastError:1, w: N});
如果沒(méi)有N,或者小于2,命令就會(huì)立刻返回,如果N等于2,主節(jié)點(diǎn)要等到至少一個(gè)從節(jié)點(diǎn)復(fù)制了上個(gè)操作都會(huì)響應(yīng)命令(主節(jié)點(diǎn)本身也包括在N里面)。主節(jié)點(diǎn)使用local.slaves中存放的"syncedTo"信息來(lái)跟蹤從節(jié)點(diǎn)的更新情況。
當(dāng)指定"w"選項(xiàng)后,還可以使用"wtimeout"選項(xiàng),表示以毫秒為單位的超時(shí)。getLastError就能在上一個(gè)操作復(fù)制到N個(gè)節(jié)點(diǎn)超時(shí)時(shí)返回錯(cuò)誤(默認(rèn)情況下命令是沒(méi)有超時(shí)的)。
阻塞復(fù)制會(huì)導(dǎo)致寫(xiě)操作明顯變慢,尤其是"w"的值比較大時(shí)。實(shí)際上,對(duì)于重要的操作將其值設(shè)置為2或者3就能效率與安全兼?zhèn)淞恕?/p>
新聞名稱(chēng):MongoDBreplset權(quán)限認(rèn)證配置步驟
URL網(wǎng)址:http://www.dlmjj.cn/article/jcsoco.html