我的mongodb版本是3.2.4。 我有一個包含2個數據庫節點和1個仲裁器的副本集。 所有數據庫在我的客戶網站上長時間運行良好。有一天,主數據庫因維護而停止運行。大約2個小時之後,原來的小學生被帶回了,並且再次成爲了第一個小學生,而小學二年級學生處於Rollback狀態。 我有幾個關於上述情況的問題: 當主數據庫第一次被關閉時,如果有數據庫條目沒有同步到輔助數據庫,會發生什麼? 當失敗的小學再次回來時,它成爲主要的方式嗎?在成爲主數據庫之前,它是否與現在的主數據庫同步? 我如何在給定最新的主數據庫和輔助數據庫狀態的情況下恢復回滾文件夾中丟失的數據? 感謝和問候。副本在故障轉移和恢復後設置數據庫狀態
0
A
回答
0
當您想要維護主服務器時,必須在主服務器上執行rs.stepDown()命令。這將選擇另一個DB節點成爲主節點:
- 主要步驟關閉,它會拒絕寫入。您的應用程序會收到簡短的寫入錯誤,直到下面的下一個項目符號完成。
- 獲得當選的次要成員將確保它在成爲主要成員之前與舊的主要成員同步。這應該發生在瞬間,但如果您有一個寫入重度應用程序,則可能需要更長的時間。
- 當舊的主要資源恢復後,如果您將其設置爲最高優先級,它將成爲主要資源。我仍然建議對2個數據節點具有同等的優先級,並且不要返回主數據節點。推廣其他節點的過程與上面的2個重點完全相同。
如果你做了正確的stepDown,你所在的回滾狀態似乎不正常。這裏有以應用回滾一個很好的鏈接: https://scalegrid.io/blog/how-to-recover-from-a-mongodb-rollback/
0
裏克寫的很好的答案,但沒有回答你的最後一個問題...如果回滾發生,會有你的DBPATH下回滾目錄。在該目錄中,您可以在數據庫列特定的json文件中找到所有回滾的文檔。這些文件可以輸入回主...
相關問題
- 1. ActiveMQ服務故障轉移和數據庫故障轉移
- 2. 電源故障和Oracle數據恢復
- 3. 故障轉移後WebSphere MQ恢復正在運行的消息
- 4. MySQL代理和基本故障轉移(檢測狀態)
- 5. ActiveMQ - 恢復連接後的CreateSession故障轉移超時
- 6. 哨兵故障轉移後復活後的原始Redis主狀態
- 7. PHP複製數據庫會話故障轉移
- 8. ASA故障轉移和L3背後
- 9. Hazelcast故障轉移在WAN複製
- 10. WCF故障狀態?
- 11. 恢復遷移後的數據庫
- 12. Jboss數據源中的數據庫故障轉移
- 13. 如何自動化Azure站點恢復故障轉移?
- 14. 副本設置分片。第二個數據中心可以做故障轉移嗎?
- 15. 如何在硬件故障後恢復此腳本?
- 16. 如何故障轉移到Java中的AWS RDS MySQL副本
- 17. 使用CodeCeption(PHP)恢復數據庫中的「恢復」狀態
- 18. 可可繪製窗口失去時的故障,然後恢復主要狀態
- 19. 旋轉後恢復RecyclerView狀態
- 20. 連接到故障轉移數據庫在PHP
- 21. Memcache故障轉移
- 22. Oracle數據庫恢復數據庫到以前的狀態
- 23. 腳本動態修復數據庫恢復後的ophaned用戶
- 24. 從PHP的MongoDB副本設置狀態
- 25. 用多個故事板恢復狀態
- 26. Memcache羣集故障轉移複製
- 27. 基於http狀態的HaProxy故障轉移
- 28. 後綴繼電器故障轉移
- 29. Cassandra故障轉移vs其他數據庫?
- 30. 數據庫應用程序的故障轉移策略