MongoDB repl set許可權認證配置步驟

來源:互聯網
上載者:User

標籤:資料庫   MongoDB   

replica set許可權認證

要生一個keyfile檔案,用於節點之間許可權認證的

  1. mkdir -p /mnt/mongodb/rs/config  

  2. cd /mnt/mongodb/rs/config  

  3. openssl rand -base64 741 > mongodb-keyfile  

  4. chmod 300 mongodb-keyfile  

官網上的是600的,必須要改為300,如果不是的話, 會在啟動的時候mongodb.log裡寫入權限太開放的原因導致啟動mongodb失敗!(這裡先確保你已經安裝了openssl,如果沒有裝,yum install openssl)

 

將mongodb-keyfile複製到每一個節點對應的目錄下,如果之前已經啟動的mongodb的話,用mongo進入到終端後,先查看那個節點是主節點,rs.status(); 去到主節點下執行:

  1. use admin  #選擇需要認證的資料  

  2. db.addUser('name','password'); 

當然,也可以某一個自建的庫進行許可權認證

  1. use test1  

  2. db.addUser('test','123456');  

 

提示添加成功後,全部停止,每一節點執行db.shutdownServer();然後對mongod.conf檔案添加以下兩行:

  1. auth=true  

  2. keyFile=/mnt/mongodb/rs/confile/mongodb-keyfile 

 

最後全部重啟即可!

 

進入主節點終端,輸入

db.runCommand({getLastError:1, w: N});  

如果沒有N,或者小於2,命令就會立刻返回,如果N等於2,主節點要等到至少一個從節點複製了上個操作都會響應命令(主節點本身也包括在N裡面)。主節點使用local.slaves中存放的"syncedTo"資訊來跟蹤從節點的更新情況。

當指定"w"選項後,還可以使用"wtimeout"選項,表示以毫秒為單位的逾時。getLastError就能在上一個操作複製到N個節點逾時時返回錯誤(預設情況下命令是沒有逾時的)。

阻塞複製會導致寫操作明顯變慢,尤其是"w"的值比較大時。實際上,對於重要的操作將其值設定為2或者3就能效率與安全兼備了。

 


MongoDB repl set許可權認證配置步驟

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.