Share via


適用於 MySQL 的 Azure 資料庫 單一伺服器中的主要版本升級

適用於: 適用於 MySQL 的 Azure 資料庫 - 單一伺服器

重要

適用於 MySQL 的 Azure 資料庫單一伺服器位於淘汰路徑上。 強烈建議您升級至適用於 MySQL 的 Azure 資料庫彈性伺服器。 如需移轉至適用於 MySQL 的 Azure 資料庫彈性伺服器的詳細資訊,請參閱適用於 MySQL 的 Azure 資料庫 - 單一伺服器會發生什麼事?

注意

本文包含「從屬」一詞的參考,Microsoft 已不再使用該字詞。 從軟體中移除該字詞時,我們也會將其從本文中移除。

重要

適用於 MySQL 的 Azure 資料庫單一伺服器主要版本升級處於公開預覽狀態。

本文說明如何在適用於 MySQL 的 Azure 資料庫單一伺服器中就地升級 MySQL 主要版本。

這項功能可讓客戶執行從 MySQL 5.6 伺服器到 MySQL 5.7 的就地升級,只需要按一下按鈕,不需要移動任何資料或變更任何應用程式連接字串。

注意

使用 Azure 入口網站,執行從 MySQL 5.6 到 MySQL 5.7 的主要版本升級

請遵循下列步驟,使用 Azure 入口網站為 MySQL 5.6 的 Azure 資料庫伺服器執行主要版本升級

重要

建議您先在還原的伺服器複本上執行升級,而不是直接升級生產環境。 請參閱如何執行時間點還原

  1. Azure 入口網站中,選取您的現有適用於 MySQL 5.6 的 Azure 資料庫伺服器。

  2. 從 [概觀] 頁面中,按一下工具列中的 [升級] 按鈕。

  3. 在 [升級] 區段中,選取 [確定] 以將適用於 MySQL 5.6 的 Azure 資料庫伺服器升級至 5.7 伺服器。

    Azure Database for MySQL - overview - upgrade

  4. 通知會確認升級成功。

使用 Azure CLI,執行從 MySQL 5.6 到 MySQL 5.7 的主要版本升級

請遵循下列步驟,使用 Azure CLI 為 MySQL 5.6 的 Azure 資料庫伺服器執行主要版本升級

重要

建議您先在還原的伺服器複本上執行升級,而不是直接升級生產環境。 請參閱如何執行時間點還原

  1. 安裝適用於 Windows 的 Azure CLI 或在 Azure Cloud Shell 中使用 Azure CLI,執行升級命令。

    此升級需要 2.16.0 版或更新版本的 Azure CLI。 如果您是使用 Azure Cloud Shell,就已安裝最新版本。 執行 az version 以尋找已安裝的版本和相依程式庫。 若要升級至最新版本,請執行 az upgrade。

  2. 登入之後,請執行 az mysql server upgrade 命令:

    az mysql server upgrade --name testsvr --resource-group testgroup --subscription MySubscription --target-server-version 5.7"
    

    命令提示字元會顯示「-Running」訊息。 不再顯示此訊息之後,版本升級就會完成。

使用 Azure 入口網站,在讀取複本上執行從 MySQL 5.6 到 MySQL 5.7 的主要版本升級

  1. Azure 入口網站中,選取您的現有適用於 MySQL 5.6 的 Azure 資料庫讀取複本伺服器。

  2. 從 [概觀] 頁面中,按一下工具列中的 [升級] 按鈕。

  3. 在 [升級] 區段中,選取 [確定] 以將適用於 MySQL 5.6 的 Azure 資料庫讀取複本伺服器升級至 5.7 伺服器。

    Azure Database for MySQL - overview - upgrade

  4. 通知會確認升級成功。

  5. 從 [概觀] 頁面中,確認適用於 MySQL 的 Azure 資料庫讀取複本伺服器版本為 5.7。

  6. 現在移至主要伺服器,並在其上執行主要版本升級

使用讀取複本,執行從 MySQL 5.6 至 MySQL 5.7 最短停機的主要版本升級

您可以使用讀取複本,執行從 MySQL 5.6 至 MySQL 5.7 最短停機的主要版本升級。 此概念是先將伺服器的讀取複本升級至 5.7,然後再將應用程式容錯移轉為指向讀取複本,使其成為新的主要複本。

  1. Azure 入口網站中,選取您的現有適用於 MySQL 5.6 的 Azure 資料庫。

  2. 從主要伺服器建立讀取複本

  3. 將您的讀取複本升級至 5.7 版。

  4. 確認複本伺服器在 5.7 版上執行之後,請停止讓應用程式連線到主要伺服器。

  5. 檢查複寫狀態,並確定複本全部都與主要複本保持一致,讓所有資料都處於同步狀態,並確保主要複本中沒有執行新的作業。

    在複本伺服器上呼叫 show slave status 命令,以檢視複寫狀態。

    SHOW SLAVE STATUS\G
    

    Slave_IO_RunningSlave_SQL_Running 的狀態為「是」,且 Seconds_Behind_Master 的值是「0」,則複寫可順利運作。 Seconds_Behind_Master 可指定複本的延遲時間。 若值不是「0」,代表複本正在處理更新。 確認 Seconds_Behind_Master 為「0」之後,可以放心停止複寫。

  6. 藉由停止複寫,將您的讀取複本升階為主要複本。

  7. 將您的應用程式指向執行伺服器 5.7 的新主要複本 (先前稱為複本)。 每部伺服器都具有唯一的連接字串。 更新應用程式以指向 (先前) 複本,而非來源伺服器。

注意

此案例只會在步驟 4、5 和 6 期間出現停機。

常見問題集

我們在生產環境中有需要升級的 MySQL v5.6,此升級功能何時會正式發行?

此功能的正式發行規劃在 MySQL v5.6 淘汰之前。 不過,此功能已可供實際執行之用且完全受到 Azure 支援,因此您可以放心地在您的環境中執行此功能。 作為建議的最佳做法,強烈建議您先在伺服器的還原複本上執行並測試,以便您可以估計升級期間的停機,並且在生產環境中執行應用程式之前,執行應用程式相容性測試。 如需詳細資訊,請參閱如何執行時間點還原,以建立伺服器的時間點複本。

這是否會造成伺服器的停機,如果是的話,停機時間多久?

是,在升級過程中伺服器將無法使用,因此建議您在計劃性維護期間執行這項作業。 預估的停機取決於資料庫大小、佈建的儲存體大小 (已佈建 IOP) 和資料庫上的資料表數目。 升級時間與伺服器上的資料表數目直接成正比。基本 SKU 伺服器的升級預期需要較長的時間,因為其位於標準儲存體平台上。 若要預估伺服器環境的停機,建議您先在伺服器的還原複本上執行升級。 您可以考慮使用讀取複本,執行從 MySQL 5.6 至 MySQL 5.7 最短停機的主要版本升級

如果我們選擇不要在 2021 年 2 月 5 日之前升級 MySQL v5.6 伺服器,會發生什麼事?

您仍然可以像之前一樣繼續執行 MySQL v5.6 伺服器。 Azure 永遠不會在您的伺服器上執行強制升級。 不過,將會套用適用於 MySQL 的 Azure 資料庫版本設定原則中記錄的限制。

下一步

了解適用於 MySQL 的 Azure 資料庫版本設定原則