全部產品
Search
文件中心

PolarDB:小版本管理

更新時間:Sep 11, 2026

PolarDB叢集架構共三層:資料庫代理Proxy、資料庫核心引擎DB和資料庫分布式儲存Store。您可以根據實際情況單獨升級Proxy或核心引擎,也可以綁定一起升級。

注意事項

  • 版本升級一般不超過30分鐘,升級過程中會重啟資料庫代理Proxy或核心引擎DB,可能會導致資料庫連接閃斷。請您盡量在業務低峰期執行升級操作,並且確保您的應用有自動重連機制。

    說明

    若您已配置CloudMonitor以監測PolarDB叢集,則在升級過程中,您可能會收到關於叢集訪問異常等情況的通知。

  • 升級過程中無法使用PolarDB控制台的部分變更類功能(如升降配置、增刪節點、修改參數、重啟節點),但查詢類功能(如效能監控)不受影響。且版本升級後無法降級。

  • 為避免升級切換期間出現長時間業務閃斷,升級會在切換前系統將檢查主節點狀態。若主節點存在大事務或Redo日誌檢查點積壓較多,且在檢查視窗內多次檢測均未達標,本次升級將被自動取消,叢集版本與運行狀態保持不變,您會收到相應通知。處理方式請參見升級前置檢查未通過的處理。

查看版本資訊

  1. 登入PolarDB控制台,在左側導覽列單擊集群列表,選擇叢集所在地區,並單擊目的地組群ID進入叢集詳情頁。

  2. 在左側導覽列,選擇配置与管理 > 版本管理。

  3. 在小版本升级頁面,版本信息地區,查看資料庫代理Proxy和核心引擎DB的版本資訊。

升級版本

若叢集當前資料庫代理Proxy或核心引擎DB的版本不是最新版本,則可以根據實際需要進行升級操作。

  1. 進入目的地組群的配置与管理 > 版本管理菜單,在小版本升级頁面,升级版本地區,您可以根據需要選擇同时升级数据库代理(Proxy)和内核引擎、仅升级内核引擎或仅升级数据库代理(Proxy)。

    說明
    • 若叢集當前資料庫代理Proxy或核心引擎DB的版本已經是最新版本,則同时升级数据库代理(Proxy)和内核引擎、仅升级内核引擎或仅升级数据库代理(Proxy)選項將置灰不可選。

    • 若選擇仅升级数据库代理(Proxy),將只升級讀寫分離相關功能,例如一致性層級(全域一致性)、事務拆分、主庫是否接受讀等。

  2. 單擊立即升级或可维护窗口升级。若選擇在可维护窗口升级,您可以在定时计划任务頁查看該任務的具體資訊或取消該任務,詳情請參見定時計劃任務。

    重要
    • 同时升级数据库代理(Proxy)和内核引擎期間,主地址和叢集地址均會有30~90秒的串連閃斷,請確保應用具備重連機制。

      說明

      除上述影響時間外,小版本升級期間,其餘時間不影響叢集的正常使用。

    • 仅升级数据库代理(Proxy)期間,叢集地址和自訂地址會有30秒的串連閃斷,主地址的串連不受影響,請確保應用具備重連機制。

    • 仅升级内核引擎期間,資料庫代理Proxy的版本高於2.4.7(包含)的PolarDB叢集可以通過Connection Preserving技術保護95%的資料庫連接不中斷。

  3. 查看升級任務:

    • 在叢集詳情頁頭部,單擊右側任務表徵圖按鈕,您可以看到任務進度面板以及升級進度。

    • 返回集群列表,在左側導覽列選擇任务管理 > 任务中心,您可查看所有叢集的工作清單。

升級前置檢查未通過的處理

升級切換前,系統會對叢集的主節點執行以下兩項檢查。若在檢查視窗內多次檢測均未通過,本次升級會被自動取消,叢集不會發生版本變更,運行狀態與升級前一致,您可在處理完成後重新發起升級。

檢查項一:主節點大事務

系統會統計主節點當前所有活躍未提交事務修改的總行數。

定位大事務:

  1. 您可以使用高許可權帳號串連主節點執行以下語句自行確認(查詢該視圖需要PROCESS許可權,也可在DMS或DAS的會話管理中查看):

    SELECT SUM(trx_rows_modified) AS sum_trx_rows_modified
    FROM information_schema.innodb_trx;
  2. 結果為NULL表示當前無活躍事務。若結果顯示存在修改行數較多的事務,可執行以下語句定位具體事務:

    SELECT trx_id, trx_state, trx_started, trx_mysql_thread_id,
     trx_rows_modified, LEFT(trx_query, 200) AS trx_query
    FROM information_schema.innodb_trx
    ORDER BY trx_rows_modified DESC
    LIMIT 10;

處理方式:

  • (推薦,對業務無影響)等待該事務正常提交後重試升級。

  • 確認事務可以放棄時,使用KILL命令終止上述 trx_mysql_thread_id 對應的會話。

    • 請勿使用KILL QUERY,它只會終止當前語句,事務仍然開啟且不復原,檢查依舊無法通過。

    • 執行KILL後事務會進入復原(trx_state 為 ROLLING BACK),此期間該事務仍會出現在 information_schema.innodb_trx 中且修改行數逐步減少,請等待其從查詢結果中消失後再重新發起升級。

長期維護建議:

將大批量的 INSERT ... SELECT、UPDATE、DELETE、資料匯入與歸檔任務拆分為小批次提交,並與升級視窗錯峰。

檢查項二:Redo日誌檢查點積壓

系統會檢查主節點已寫入的Redo位點與檢查點位點的差值。該差值反映檢查點推進落後於寫入的程度,差值過大時切換需要更長時間追平,會延長業務不可用時間。

查詢位點:

您可以使用高許可權帳號執行以下語句查看:

SHOW STATUS LIKE '%lsn%';

其中 Innodb_lsn 與 Innodb_log_checkpoint_lsn 的差值即為當前積壓量(單位:位元組)。

處理方式:

  • 暫停大批量資料匯入、歸檔、DDL 等重寫入操作,降低寫入壓力。

  • 間隔一段時間重複執行上述語句,觀察差值是否持續下降,待其回落後重新發起升級。

重新發起升級前的確認項

  • 主節點活躍未提交事務修改總行數已滿足升級前置檢查要求。

  • information_schema.innodb_trx 中不存在處於 ROLLING BACK 狀態的事務。

  • Innodb_lsn 與 Innodb_log_checkpoint_lsn 的差值處於平穩或下降趨勢。

  • 已避開批量任務視窗,處於業務低峰期。

相關API

API

描述

DescribeDBClusterVersion

查看PolarDB叢集的核心版本資訊。

UpgradeDBClusterVersion

升級PolarDB叢集的核心版本。