全部產品
Search
文件中心

PolarDB:升級步驟

更新時間:Sep 05, 2024

本章節介紹了PolarDB MySQL版叢集之間升級的操作步驟。

前置檢查

說明

若您已完成升級評估並且無相關異常,可跳過該前置檢查。

檢查是否已建立PolarDB服務關聯角色

在升級之前,請先檢查是否已建立PolarDB服務關聯角色,以及是否已授予DTS訪問雲資源的許可權

檢查是否已建立PolarDB服務關鍵角色的操作步驟如下:

  1. 前往RAM控制台

  2. 在左側導覽列,選擇身份管理>角色

  3. 在角色列表中,查看是否已存在名為AliyunServiceRoleForPolarDB的服務關聯角色。

  4. 單擊建立角色

  5. 在開啟的建立角色對話方塊中,選擇阿里雲服務,並單擊下一步建立角色

  6. 角色類型選擇服務關聯角色,雲端服務選擇雲資料庫PolarDB配置角色

  7. 單擊完成,返回角色列表,確保已建立成功。

刪除源PolarDB MySQL版叢集中多餘系統帳號

為了避免遷移後目標PolarDB MySQL版叢集的系統帳號被覆蓋,源PolarDB MySQL版叢集中不允許同時存在root和aliyun_root帳號。因此,在進行遷移升級前,請先刪除源叢集中多餘的系統帳號。

PolarDB MySQL版各個版本的正確系統帳號名如下:

PolarDB MySQL版版本

正確的系統帳號名

PolarDB MySQL版 5.6

root

PolarDB MySQL版 5.7

aliyun_root

PolarDB MySQL版 8.0

root

各個版本除了對應的系統帳號之外,其餘系統帳號均需刪除。

說明

帳號可能是使用者建立的,也可能是系統建立並因版本升級而遺留的,某些情境下不會在控制台顯示。

以清理PolarDB MySQL版5.6多餘的系統帳號為例,具體刪除步驟如下:

  1. 使用高許可權帳號串連資料庫叢集

  2. 找到所有的root和aliyun_root系統帳號。

    select * from mysql.user where user in ('root', 'aliyun_root');
  3. 刪除多餘的系統帳號。PolarDB MySQL版5.6正確的系統帳號是root,因此需要刪除aliyun_root帳號。

    delete from mysql.user where user = 'aliyun_root' limit n; 

智能壓測(可選)

在執行大版本升級之前,您可以使用該智能壓測功能,類比演練您的業務流量運行在目標版本的PolarDB執行個體上的情境,協助您:

  • 驗證您的執行個體規格是否需要擴容,以有效應對業務流量高峰;

  • 分析原版本和目標版本的PolarDB執行個體在SQL模板方面的執行效能差異等。

智能壓測詳細操作步驟請參見智能壓測

步驟一:從PolarDB升級遷移

通過該步驟,您將建立一個與源PolarDB MySQL版叢集資料相同的叢集,源PolarDB MySQL版叢集的增量資料會即時同步至該叢集。

說明

在開始遷移前,建議您先完成升級評估

  1. 登入PolarDB控制台

  2. 進入叢集購買頁面。您可以通過以下兩種方式中的任意一種方式進入購買頁:

    • 單擊建立新叢集

    • 單擊需要執行升級操作的叢集ID,在左側導覽列,選擇配置與管理 > 版本管理。在大版本升級頁簽,單擊遷移升級

  3. 計費類型選擇訂用帳戶隨用隨付Serverless

    • 訂用帳戶:在建立叢集時支付計算節點的費用,而儲存空間會根據實際資料量按小時計費,並從賬戶中按小時扣除。

    • 隨用隨付:無需預先支付費用,計算節點和儲存空間(根據實際資料量)均按小時計費,並從賬戶中按小時扣除。

    • Serverless:無需預先支付費用,計算節點、儲存空間、資料庫代理等資源在叢集使用過程中基於實際需求動態彈性擴縮,並根據擴縮的實際用量來計費。

  4. 根據實際使用情境,設定以下參數。

    說明

    以下表格中未詳細介紹的參數, 請參考購買叢集

    參數

    說明

    建立方式

    選擇PolarDB升級遷移

    地區

    選擇源PolarDB MySQL版叢集所在地區。

    PolarDB版本

    PolarDB MySQL版叢集的版本。您可以選擇5.6、5.7或8.0。

    PolarDB叢集

    選擇源PolarDB MySQL版叢集。

    資料庫引擎

    目的地組群的資料庫引擎版本。

      說明
      • 版本之間升級時,您可以選擇與源叢集相同的版本,也可以選擇跨版本。

      • 架構之間升級時,必須選擇MySQL 8.0

    產品版本

    與原叢集的產品版本保持一致,無需選擇。

    系列

    目的地組群的系列。

      說明
      • 版本之間升級時,選擇叢集版【推薦】

      • 架構之間升級時,選擇多主叢集(庫表)

    CPU架構

    與原叢集的CPU架構保持一致,無需選擇。

    節點個數

    與原叢集的節點個數保持一致,無需選擇。

    當前選擇規格

    目的地組群的節點規格。

    資料庫代理類型

    與原叢集的資料庫代理規格保持一致,無需選擇。

  5. 在右上方檢查叢集配置資訊,設定購買時間長度(針對訂用帳戶叢集)、購買數量是否自動續約

  6. 閱讀並勾選服務合約。單擊立即購買

  7. 支付頁面,確認未支付訂單資訊和支付方式,單擊訂購

    說明
    • 支付成功後,需要等待10~15分鐘建立叢集,之後您就可以在叢集列表中看到新建立的叢集。

    • 當叢集中的節點狀態為建立中時,整個叢集可能仍未建立完成,此時叢集不可用。只有當叢集狀態為運行中時,叢集才可以正常使用。

    • 請確認已選中正確的地區,否則無法看到您建立的叢集。

  8. 叢集建立成功後,單擊叢集ID進入叢集基本資料頁。

  9. 基本資料頁的PolarDB升級功能地區,確認目標PolarDB叢集的複寫延遲小於60秒即可進行操作。複寫延遲小於60秒

    說明
    • 叢集建立後,DTS開始從源PolarDB叢集同步資料,您需要在30天內完成升級,超過30天將自動關閉升級功能。

    • 您可以在該地區選取項目放棄升級,放棄升級後的影響請參見常見問題

    • 若狀態顯示為預檢查失敗,請根據錯誤資訊進行處理。預檢查失敗

      例如,如果源PolarDB叢集中建立了觸發器,則預檢查會失敗並報錯“PolarDB叢集存在觸發器”。請先刪除PolarDB的觸發器,再單擊繼續升級,或單擊放棄升級後手動在DTS控制台頁面建立遷移任務。具體可參見源庫存在觸發器時如何配置同步或遷移作業

    • 架構升級時,目的地組群預設的寫入點為MasterID=1的RW節點,為確保DTS資料同步任務的正常運行,在升級完成之前,始終保持在該RW節點進行寫入。

步驟二:升級切換

目標PolarDB叢集的複寫延遲小於60秒時,即可進行升級切換操作。

  1. 登入PolarDB控制台

  2. 找到目的地組群,單擊叢集ID。

  3. 基本資料頁面的PolarDB升級功能地區,單擊升級切換升級切換

    說明
    • 一般情況下,升級在5分鐘之內即可完成。

    • 該操作將交換源PolarDB叢集和目標PolarDB叢集的讀寫狀態,即將源PolarDB叢集修改為唯讀,將目標PolarDB叢集修改為可讀可寫。同時,DTS會更換資料複製方向,即將目標PolarDB叢集的新增資料同步到源PolarDB叢集。

  4. 升級切換對話方塊中,選擇帶地址切換(應用程式不用改串連配置)不帶地址切換(應用程式需要改為新的PolarDB串連配置)

    • 若您選擇帶地址切換(應用程式不用改串連配置),操作步驟如下:

      1. 選中帶地址切換(應用程式不用改串連配置)。系統會自動交換源PolarDB和目標PolarDB上的串連地址,您無需在應用程式端修改任何配置即可自動連接到目標PolarDB叢集。

        重要
        • 選擇帶地址切換(應用程式不用改串連配置)前,請務必閱讀帶地址切換注意事項

        • 如果待升級的PolarDB叢集是已有Data Transmission Service(DTS)的源叢集或目的地組群,則升級後需要將該DTS任務的源或目的地組群修改為升級後的PolarDB叢集。如資料同步任務、資料移轉任務以及資料訂閱任務等。具體請參見修改DTS任務對象

      2. 單擊確定。

    • 若您選擇不帶地址切換(應用程式需要改為新的PolarDB串連配置),操作步驟如下:

      1. 勾選不帶地址切換(應用程式需要改為新的PolarDB串連配置)。

      2. 單擊確定。

      3. 重新整理頁面,當目標PolarDB讀寫狀態顯示為讀寫後,儘快修改應用中的資料庫連接地址。

說明
  • 升級切換完成後,如果您探索資料存在異常等問題,可以進行復原操作,快速恢複至升級前的狀態也可以選擇升級復原

  • 架構升級完成並切換完成後,為避免DTS資料同步任務異常,請務必不要修改目標多主叢集(庫表)的寫入點。

步驟三:完成升級

完成步驟一:從PolarDB升級後,您需要在30天內完成升級操作。

重要
  • 請確保在單擊完成升級前,資料已完成遷移,並且後續不再使用資料同步功能。

  • 由於該操作會中斷源PolarDB叢集和目標PolarDB叢集間的資料同步任務,且不再提供升級復原功能,建議您使用一段時間目標PolarDB叢集,確認正常後再執行完成升級操作。

  1. 登入PolarDB控制台

  2. 找到目的地組群,單擊叢集ID。

  3. 基本資料頁面的PolarDB升級功能地區,單擊完成升級

  4. 完成升級對話方塊中,您可以選擇是否關閉PolarDB叢集的Binlog,並單擊確定

    說明
    • 單擊確定後,系統將在2分鐘之內中斷同步關係,升級狀態將顯示為關閉同步

    • 如果您選擇了關閉Binlog,PolarDB叢集會自動重啟使新配置生效。

    • 如果不再需要源PolarDB叢集,可以選擇釋放源PolarDB叢集。釋放叢集詳情請參見釋放叢集

    • 如果您執行的是架構升級操作,在完成升級對話方塊中單擊確定後,目的地組群的寫入點將恢複至初始狀態,即資料庫將隨機指定RW節點為寫入點。

查看資料同步任務詳情(可選)

在版本升級的過程中,若升級報錯或出現其他異常時,您可以前往對應的DTS資料同步任務詳情頁查看資料同步任務的詳細資料。

  1. 登入PolarDB控制台

  2. 找到目的地組群,單擊叢集ID。

  3. 基本資料頁面的PolarDB升級功能地區,單擊DTS資料同步任務的任務名稱,進入DTS控制台的資料同步工作清單。查看資料同步任務詳情

  4. 在資料同步工作清單中,找到對應的資料同步任務,您可以查看同步任務詳情和同步任務日誌等。

  5. 在升級過程中,如果需求有調整(如源PolarDB叢集有新增庫時,需要將新增加的庫也納入同步對象),您可以單擊修改同步對象來重新設定。

升級復原(可選)

在完成升級之前,如果您探索資料存在異常等問題,可以執行升級復原操作,將叢集快速恢複至升級前的狀態(源PolarDB叢集為可讀可寫,目標PolarDB叢集為唯讀,同時會將源PolarDB叢集的資料同步至目標PolarDB叢集)。升級復原完成後,如果需要繼續執行大版本升級操作,您可以直接從步驟二:升級切換操作開始執行。

  1. 登入PolarDB控制台

  2. 找到目的地組群,單擊叢集ID。

  3. 基本資料頁面的PolarDB升級功能地區,單擊升級復原

  4. 在開始回切對話方塊中,選擇帶地址回切(應用程式不用改串連配置)不帶地址回切(應用程式需要改為源叢集串連配置)

    • 若您選擇帶地址回切(應用程式不用改串連配置),操作步驟如下:

      1. 選中帶地址回切(應用程式不用改串連配置),系統會自動交換源PolarDB叢集和目標PolarDB叢集上的串連地址,你無需在應用程式端修改任何配置即可自動回切到源PolarDB叢集。

      2. 單擊確定

        此時,源PolarDB叢集為可讀可寫,目標PolarDB叢集為唯讀,同時會將源PolarDB叢集的資料同步到目標PolarDB叢集。

        說明

        執行架構升級復原操作時,您可以根據需要選擇復原地址。

    • 若您選擇不帶地址回切(應用程式需要改為源叢集串連配置),操作步驟如下:

      1. 選中不帶地址回切(應用程式需要改為源叢集串連配置),在升級切換完成後,您需要儘快修改應用程式端的資料庫連接池地址。

      2. 單擊確定,此時,源PolarDB叢集為可讀可寫,目標PolarDB叢集為唯讀,同時會將源PolarDB叢集的資料同步至目標PolarDB叢集。

      3. 重新整理頁面,當源PolarDB叢集的狀態顯示為讀寫後,請儘快修改應用程式中的資料庫連接地址為源PolarDB叢集的串連地址。

取消升級(可選)

  1. 登入PolarDB控制台

  2. 找到目的地組群,單擊叢集ID。

  3. 基本資料頁面的PolarDB升級功能地區,單擊取消升級

  4. 取消升級頁面的對話方塊中,單擊確定

    image