Mongodb
無法將獨立 MongoDB 遷移到集群
我正在嘗試將獨立的 MongoDB 數據庫轉換為集群,以便將我的數據庫遷移到 MongoDB Atlas。
我已按照以下步驟嘗試轉換它:
- 停止我的 mongodb 實例
- 將配置更改為以下內容:
........................ #how the process runs processManagement: timeZoneInfo: /usr/share/zoneinfo security: authorization: enabled replication: replSetName: "rs0"
- 使用以下命令重新啟動 mongodb:
sudo mongod --config /etc/mongod.conf --fork
- 使用具有以下角色的使用者登錄到 mongodb 到 admin 數據庫:
clusterMonitor, readAnyDatabase, userAdminAnyDatabase
- 執行了命令
rs.initiate()
它給了我以下錯誤:
{ “ok” : 0, “errmsg” : “not authorized on admin to execute command { replSetInitiate: undefined, $db: \“admin\” }“, “code” : 13, “codeName” : “Unauthorized” }
我已經在開發伺服器中嘗試了前面的步驟,一切正常,在我的生產環境中它不起作用,感謝任何幫助。
使用具有以下角色的使用者登錄到 mongodb 到 admin數據庫
clusterMonitor
:readAnyDatabase``userAdminAnyDatabase
…
管理員未授權執行命令 { replSetInitiate: undefined, $db: \“admin\” }“
此錯誤是預期的,因為
clusterMonitor
它是只讀角色。要在啟用訪問控制時初始化或更新副本集配置,您的使用者需要一個集群管理角色,例如
clusterManager
或clusterAdmin
。