全部產品
Search
文件中心

ApsaraDB for MongoDB:MongoDB 3.4 版本 EOFS 升級一站式指南

更新時間:Sep 17, 2026

本文適用對象為ApsaraDB for MongoDB 3.4 版本的使用者。如果您收到了"無法續約"的提示,或者想知道 3.4 版本到期後該怎麼辦,請閱讀本指南。

我的執行個體受影響嗎?

你在什麼情況下需要看這一節:收到了 EOFS 相關通知,但不確定自己的執行個體是否受影響。

什麼是 EOFS?

EOFS(End of Full Support,停止全面支援)是阿里雲產品生命週期的一個階段。MongoDB 3.4 版本已進入 EOFS 階段,意味著:

時間節點

發生什麼

對你的影響

2023年1月1日

停止新購(EOM)

無法再新購 3.4 版本執行個體

2026年6月30日

停止續約及變更配置(EOFS)

無法續約、無法轉換付費類型、無法變更配置 (擴容/降配)

2026年12月31日

終止服務(EOS)

執行個體資源釋放,所有服務不可用

重要

從 2026 年 6 月 30 日起,3.4 版本執行個體無法續約也無法變更配置。如果您到期後續約失敗,這正是原因所在。

如何判斷我的執行個體是否受影響?

  1. 登入 MongoDB 控制台。

  2. 在執行個體列表中查看您的執行個體的資料庫版本列。

  3. 如果版本顯示為 3.4,則您的執行個體受 EOFS 影響,需要儘快升級。

EOFS 後具體有哪些限制?

操作

EOFS 後是否支援

繼續使用現有執行個體(到期前)

支援

續約

不支援(需升級後才能續約)

變更配置(擴容磁碟/升配/降配)

不支援

升級資料庫大版本

支援(需滿足升級條件)

退訂

支援

自動續約

自動失效

說明

EOFS 後不能轉為隨用隨付。到期後執行個體會進入 15 天鎖定狀態,期間無法訪問。詳見本文「來不及升級怎麼辦」部分。

我的執行個體能原地升級嗎?升級路徑速查

你在什麼情況下需要看這一節:知道要升級,但不知道自己的執行個體能否在控制台直接升級,還是需要遷移。

升級路徑速查表

根據您的執行個體架構和儲存類型,找到對應的升級路徑:

執行個體架構

儲存類型

目前的版本

可直接升級到

升級方式

單節點

本地碟版

3.4

4.0

控制台直接升級

複本集

本地碟版

3.4

4.0 或 4.2

控制台直接升級

分區叢集

本地碟版

3.4

4.0 或 4.2

控制台直接升級

重要

如果您需要升級到 4.2 以上的版本(如 5.0、6.0、7.0、8.0),需要先升級到 4.2,將本地碟執行個體遷移成雲端硬碟,然後才能逐步升級;或直接建立高版本執行個體通過 DTS 遷移。

單節點執行個體可以直接升級嗎?

可以。3.4版本單節點執行個體可直接在控制台升級大版本。

本地碟執行個體最高可升級到4.2版本?

本地碟版執行個體通過控制台最高只能升級到 4.2。如果需要升級到 5.0 或更高版本,需要遷移到雲端硬碟執行個體後繼續升級。如需升級到高版本,推薦建立高版本的雲端硬碟版執行個體然後通過 DTS 遷移資料。原因如下:

  • 低版本和高版本之間可能存在不相容情況,DTS遷移可以儘早暴露不相容問題,而大版本升級之後無法復原。大版本之間的相容性,請參見。

  • 多次升級會導致多次閃斷。大版本升級的影響,請參見升級資料庫大版本。

3.4 版本能否直接升級到 4.2(跳過 4.0)?

  • 3.4版本的複本集、分區叢集執行個體可以支援直接升級到4.2版本。後台會逐步升級大版本(3.4 → 3.6 → 4.0 → 4.2),每升級一次發生一次閃斷,您無需手動幹預中間版本。

  • 3.4版本的單節點執行個體,僅支援升級到4.0版本。

升級會怎樣?影響評估

你在什麼情況下需要看這一節:知道要升級,但擔心升級會影響業務,不敢操作。

升級會中斷多久?

  • 複本集、分區叢集:過程中會有1~2次主備切換,每次切換產生約30秒的閃斷。

    說明

    跨版本升級(如 3.4 升級到 4.2),後台會逐步升級大版本,每一次升級都會觸發多次切換,且會有1~2次閃斷。請在業務低峰期執行升級,並確保應用程式具有重連機制。

    降低影響:推薦生產環境的應用程式通過ConnectionStringURI地址串連資料庫。

    通過ConnectionStringURI地址串連執行個體,可以確保串連的節點始終為主節點(Primary),不會因為主備切換而影響應用的讀寫操作。如何通過ConnectionStringURI地址串連資料庫,請參見複本集執行個體串連說明或分區叢集執行個體串連說明。

  • 單節點執行個體:過程中會自動重啟執行個體,業務會中斷2分鐘左右。

升級會丟資料嗎?

不會。 升級過程不會導致資料丟失。但建議在升級前手動建立一次全量備份,以防萬一。

升級後帳號密碼會變嗎?

不會變。 帳號和密碼在升級後保持不變。

升級後串連地址會變嗎?

  • 原地升級(複本集/分區叢集本地碟版):串連地址不變。

  • DTS 遷移(單節點執行個體):新執行個體的串連地址與原執行個體不同,需要在升級完成後修改業務代碼中的串連配置。

重要

推薦使用 ConnectionStringURI 高可用串連地址串連資料庫。通過 ConnectionStringURI 串連,可以確保串連的節點始終為主節點(Primary),不會因為升級過程中的主備切換而影響讀寫。

升級後能復原嗎?

不能。 升級資料庫大版本後不支援降級。升級前請務必做好相容性測試和資料備份。

重要

升級資料庫大版本後,低版本的備份資料不能恢複至ApsaraDB for MongoDB 執行個體。您可以下載備份檔案,將低版本的備份資料恢複至自建資料庫。詳見備份資料恢複。

升級前需要檢查磁碟空間嗎?

需要。 建議升級前磁碟剩餘空間不低於 20%,以確保升級過程有足夠的空間完成資料重組。當前已進入 EOFS 階段,無法再擴容磁碟。如果磁碟空間不足 20%,可嘗試以下方案:

  1. 清理冗餘資料:刪除已廢棄的集合、索引或臨時資料,釋放空間後再升級。

  2. 直接嘗試升級:20% 是建議值而非硬性門檻,空間略低時升級仍可能成功。如果升級過程中因空間不足失敗,系統會自動復原,執行個體狀態不受影響。

  3. 改用 DTS 遷移:購買一個磁碟空間更大的高版本新執行個體,通過 DTS 將資料移轉過去,遷移完成後釋放舊執行個體。此方案不受磁碟空間限制。

升級有哪些相容性風險?

3.4 升級到 4.0 和 4.2 時,各版本引入的相容性變更如下:

升級到 4.0(中間經過 3.6):

變更項

說明

aggregate 傳回值

不再返回單個文檔,改為返回 cursor,需適配 cursor 迭代

snapshot 查詢選項

不再支援

數組排序

$sort 彙總階段記憶體限制為 100 MB

更新操作

同時更新多個欄位時,新欄位按字典順序添加

reIndex

添加全域寫鎖,直到索引重建完成

copydb、clone

不再支援(4.2 中正式刪除)

升級到 4.2(中間經過 3.6 → 4.0 → 4.2,包含上述所有變更,另增加以下內容):

變更項

說明

group 命令

刪除(3.4 起棄用,4.2 正式刪除),請改用 db.collection.aggregate() 或 mapReduce()

copydb、clone

刪除(4.0 起不再支援,4.2 正式刪除)

cloneCollection

不再支援,請改用 mongoexport/mongoimport

geoNear

不再支援,請改用 $geoNear(彙總階段)

repairDatabase

不再支援

afterClusterTime

不再支援

Retryable Writes

開源驅動預設啟用

說明

MongoDB 4.0 中 group 命令仍可使用但已標記為棄用,4.2 才正式移除。如果您的代碼中使用了 group 命令,升級到 4.2 前必須改為 aggregate 或 mapReduce。

完整的各版本相容性變更說明,請參見 MongoDB 資料庫大版本升級說明。

升級前檢查清單

你在什麼情況下需要看這一節:已確定升級路徑,準備開始升級操作。

在開始升級前,請逐項確認:

  • 確認執行個體架構(單節點/複本集/分區叢集)和儲存類型(本地碟)

  • 如為分區叢集,確認執行個體協議類型為 MongoDB 協議(DynamoDB 協議執行個體不支援升級)

  • 如為分區叢集,瞭解升級過程中平衡器會被自動關閉,升級完成後自動重新開啟

  • 確認升級路徑(控制台直接升級 or DTS 遷移)

  • 確認目標版本(4.0 or 4.2)

  • 檢查磁碟剩餘空間不低於 20%

  • 手動建立一次全量備份

  • 檢查代碼中是否使用了已移除的命令(group、copydb、clone、geoNear、cloneCollection、repairDatabase 等)

  • 確認 Java Driver 版本相容目標 MongoDB 版本

  • 確認應用程式具有重連機制

  • 選擇業務低峰期執行升級

  • 使用 ConnectionStringURI 高可用串連地址

升級操作步驟

你在什麼情況下需要看這一節:已完成升級前檢查,需要具體的操作步驟。

控制台直接升級(複本集/分區叢集)

步驟 1:手動備份

升級前,建議手動建立一次全量備份。由於升級後不支援降級,必要時可將備份資料恢複到建立執行個體以快速恢複業務。

步驟 2:檢查磁碟空間

確保磁碟剩餘空間不低於 20%。如空間不足,參見磁碟空間不足的替代方案。

步驟 3:執行升級

  1. 登入 MongoDB 控制台。

  2. 在執行個體列表中,單擊目標執行個體 ID,進入執行個體基本資料頁面。

  3. 在執行個體基本資料地區,將滑鼠移動至升級資料庫版本上,單擊需要升級的資料庫大版本(4.0 或 4.2)。

  4. 在彈出的確認對話方塊中,單擊確定。

說明

升級大版本時,系統會自動升級到該大版本的最新可用小版本。

步驟 4:等待升級完成

  • 升級過程中執行個體狀態會顯示為"升級中"。

  • 升級過程中會有 2~3 次約 30 秒的閃斷,請確保應用程式具有重連機制。

  • 升級完成後,執行個體狀態恢複為"運行中"。

  • 如果升級任務長時間顯示"升級中",可以修改切換時間為"立即切換"來加速完成。

升級後驗證

升級完成後,請進行以下驗證:

  1. 版本確認:在控制台確認執行個體的資料庫版本已變更為目標版本。

  2. 串連測試:使用用戶端串連執行個體,確認串連正常。

  3. 資料完整性:檢查關鍵業務資料是否完整。

  4. 應用功能:測試核心業務功能是否正常。

  5. 效能監控:觀察升級後的效能指標是否正常。

來不及升級怎麼辦?

你在什麼情況下需要看這一節:執行個體即將到期但來不及完成升級,或者執行個體已經到期鎖定。

執行個體即將到期但來不及升級

如果您在執行個體到期前無法完成升級,請儘快提交工單說明以下資訊:

  • 執行個體 ID

  • 當前到期時間

  • 升級計劃和時間表

支援人員團隊會根據您的具體情況協助處理。

執行個體已經到期並鎖定

如果執行個體已經到期並進入鎖定狀態:

  1. 鎖定時間軸:執行個體到期後的第 1~15 天處於鎖定狀態,無法訪問。到期後的第 16 天,執行個體的計算資源會被釋放。到期後的第 23 天,資料不再保留。

    警告
    • 上述時間軸僅適用於3.4版本複本集執行個體。

    • 單節點執行個體、本地碟版分區叢集執行個體釋放後不支援從資源回收筒恢複。請在執行個體鎖定期間(到期後第 1~15 天)儘快升級大版本。切勿等到計算資源釋放後再處理。詳見資源回收筒注意事項。

  2. 恢複方式 :鎖定狀態下的MongoDB執行個體允許升級大版本。因此您可以先升級大版本,再進行續約。

  3. 恢複後立即升級:恢複訪問後,請儘快升級資料庫大版本。

常見問題(FAQ)

Q1:執行個體即將到期,無法續約,應如何處理?

A:單節點、複本集或分區叢集,都可以直接在控制台升級到 4.0 或 4.2,升級後即可正常續約。如有特殊情況,請立即提交工單說明。

Q2:自動續約失效的原因

A:3.4 版本從 2026 年 6 月 30 日起停止續約服務,自動續約會因此失效。系統會在 EOFS 日期前通過簡訊和站內信通知。您需要升級資料庫大版本後才能恢複續約。

Q3:升級到 4.0 還是 4.2?

A:

  • 如果您的代碼中使用了 group 命令,建議先升級到 4.0(4.0 中 group 仍可用但已棄用),完成代碼改造後再升級到 4.2。

  • 如果沒有使用 group 命令,可以直接升級到 4.2。4.2 支援控制台空間回收(compact),4.0 不支援。

Q4:升級後 Java 代碼是否需要修改?

A:3.4 升級到 4.0/4.2 通常不需要修改 Java 代碼,但請確認:

  • 沒有使用 group 命令(4.2 移除)

  • 沒有使用 copydb、clone、cloneCollection、geoNear、repairDatabase 等已移除的命令

  • Java Driver 版本相容目標 MongoDB 版本(建議使用 MongoDB 官方推薦的 Driver 版本,參見 Driver Compatibility Matrix)

Q5:200G 資料移轉需要多久?

A:使用 DTS 遷移,200G 資料通常在小時層級完成。全量遷移免費,無流量費。如果需要增量遷移(無縫切換),需先開啟源執行個體的 oplog。

Q6:升級過程中能否取消?

A:升級任務運行中無法取消。但您可以修改切換時間往後延,等業務低峰期再切換。建議在業務低峰期發起升級。

Q7:升級後複本集控制台只顯示 2 個節點

A:這是正常現象。複本集的 Hidden 節點預設不在控制台顯示。執行個體實際仍然是三節點架構,不影響高可用。

Q8:執行個體到期後資料是否保留?

A:3.4版本僅有本地碟版。

執行個體架構

保留原則

如何處理

單節點、分區叢集執行個體

  • 到期後第 1~15 天:執行個體鎖定,無法訪問,但資料仍在。

  • 到期後第 16 天:計算資源釋放。

在第16天之前,完成大版本升級和續約。

複本集執行個體

  • 到期後第 1~15 天:執行個體鎖定,無法訪問,但資料仍在。

  • 到期後第 16 天:計算資源釋放,資料根據備份保留原則保留一段時間。

  • 到期後第 23 天:資料不再保留。

在第23天之前,完成大版本升級和續約。

續約恢複訪問後可匯出資料,匯出完成後可以退訂執行個體。

Q9:3.4 到 4.0 有沒有相容性問題?

A:3.4 到 4.0 沒有已知的高風險相容性問題。主要的變更包括 aggregate 返回 cursor 而非單個文檔、不再支援 snapshot 查詢選項、reIndex 添加全域寫鎖等。建議在升級前參照相容性變更清單進行代碼排查。

Q10:EOFS 後能否轉為隨用隨付?

A:不能。EOFS 後既不能續約也不能轉隨用隨付。到期後執行個體會進入 15 天鎖定期,之後釋放資源。唯一的解決方案是升級資料庫大版本。

Q11:沒有營運人員,如何完成升級?

A:建議:

  1. 提交工單,說明您的執行個體資訊和升級需求,支援人員團隊會提供協助。

  2. 聯絡阿里雲夥伴提供升級服務。

Q12:升級時報錯 "InvalidSaleComponentFault"

A:這通常是因為選擇的規格在目標版本中不存在。例如獨享型可能沒有 8核32GB 的規格。請在升級時選擇目標版本支援的規格,或提交工單確認可用規格列表。

Q13:Navicat 無法串連 3.4 執行個體

A:3.4 版本與高版本 Navicat 驅動可能存在相容性問題。建議使用較低版本的 Navicat 驅動,或使用 mongo shell / mongosh 串連。升級到 4.0/4.2 後可使用最新版 Navicat。

附錄:相關文檔

文檔名稱

說明

升級資料庫大版本

官方升級操作文檔

MongoDB 產品生命週期策略

官方生命週期說明

MongoDB 資料庫大版本升級說明

相容性變更說明

資源回收筒

到期/鎖定執行個體恢複

DTS 資料移轉

DTS 遷移操作指南