mongodb分區模式啟用認證的注意事項

來源:互聯網
上載者:User

啟動configsvr

1. 確保mongdb的configsvr是採用service模式啟動的,即從/etc/init.d下的指令碼啟動的,其使用者是mongod。

2. 確保mongod的設定檔完全相同。

3. 確保整個叢集的所有keyFile檔案內容相同。


啟動mongos

1. 使用以下命令啟動,以確保使用者切換為mongod:

runuser -s /bin/bash mongod -c '/usr/bin/mongos --configdb confighost-01:27019,confighost-02:27019,confighost-03:27019 --port 27021 --keyFile /data/mongodb/key.d/mongod.key'

2. 如果發生warning: config servers confighost-01:27019 and confighost-03:27019 differ

可以把configdb目錄下的內容刪除,然後再次運行configsvr服務。

3. 一切正常後,可以把mongos的啟動配置寫入指令碼/etc/init.d/mongos

4. service mongos start


加入分區

請注意一定在未給admin資料庫建立任何使用者之前至少加入一個分區,否則可能會導致以後無法加入。

sh.addShard("rs-1/host-11.mycloud.com")

sh.addShard("rs-2/host-21.mycloud.com")

為admin使用者建立第一個使用者 該使用者的角色必須是userAdminAnyDatabase 1.在mongos伺服器本機登入 mongo --port xxxxx #xxxxx表示mongos的監聽連接埠 use admin show dbs  #這時可以列出資料庫 db.createUser({user: "SysAdmin",pwd: "123",roles: [{role: "userAdminAnyDatabase", db:"admin"}]});
這時退出後再以 mongo --port xxxxx登入執行show dbs就顯示未授權了。

重新登入 可以選擇在本機登入,也可以從其他機器登入。 本機登入:mongo localhost:27021/admin -u SysAdmin -p 123
其他機器登入: mongo mongos-server:xxxxx/admin -u SysAdmin -p 123
為test資料庫建立使用者 在mongos伺服器上以管理員身份登入admin資料庫: mongo localhost:27021/admin -u SysAdmin -p 123 為test資料庫建立管理使用者:db.createUser({user: "yc-admin",pwd: "123",roles: [ { role: "userAdmin", db: "test" }]}); 切換到test資料庫:use test 以test管理員身份登入到資料庫:db.auth("yc-admin", "123") 建立test的其他使用者: 唯讀使用者:db.createUser({user: "yc-read",pwd: "123",roles: [ { role: "read", db: "test" }]}); 讀寫使用者:db.createUser({user: "yc-write",pwd: "123",roles: [ { role: "readWrite", db: "test" }]});

添加其它分區 切換到admin資料庫 use admin 為admin資料庫增加userA dmin使用者和root角色的使用者(假設使用者名稱是admin-root),見上一步。
clusterAdmin使用者:db.createUser({user: "yc-cstadmin",pwd: "123",roles: [ { role: " clusterAdmin", db: "admin" }]}); 切換到yc-cstadmin使用者:db.auth("yc-cstadmin", "123") 添加rs-3分區:sh.addShard("rs-3/host-31.mycloud.com")

注意: 資料庫不同的角色具有不同的許可權: read:唯讀 readWrite:讀寫 root:所有 userAdmin:使用者管理 clusterAdmin:叢集管理和監控
添加分區只能由admin資料庫的root進行,其它使用者都沒有該許可權。


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.