分享方式:


適用於 MySQL 的 Azure 資料庫中的內建預存程式

適用於:適用於 MySQL 的 Azure 資料庫 - 彈性伺服器

適用於 MySQL 的 Azure 資料庫提供數個內建預存程式,以簡化和自動化進階資料庫管理工作。 這些預存程式可協助用戶設定功能,例如數據傳入複寫、復原記錄清除,以及有效率的外掛程式管理。

本文介紹適用於 MySQL 的 Azure 資料庫中可用的內建預存程式、其功能,以及如何使用這些預存程式。

目前可用的內建預存程式

1.資料傳入複寫管理

適用於 MySQL 的 Azure 資料庫提供預存程式來管理數據傳入複寫,包括啟動、停止、檢查狀態,以及重設複寫。

如需這些程序的詳細資訊,請參閱 如何設定適用於 MySQL 的 Azure 資料庫 - 彈性伺服器資料複寫

2. 外掛程式管理

適用於 MySQL 的 Azure 資料庫支援 驗證密碼外掛程式,以強制執行密碼強度原則。 使用者可以使用下列預存程式來啟用或停用此外掛程式:

啟用驗證密碼外掛程式

CALL az_install_validate_password_plugin();

啟用外掛程式之後,您可以在 Azure 入口網站的 [伺服器參數] 頁面上檢視及設定相關參數。

停用驗證密碼外掛程式

CALL az_uninstall_validate_password_plugin();

此預存程序會移除外掛程式。

備註

  • 針對 HA(高可用性)伺服器,這些預存程式必須先在 伺服器上執行,之後再執行 強制故障轉移,然後在新的主要複本上重新執行預存程式。
  • 針對 複本伺服器,在主要伺服器上執行這些預存程式 不會 自動同步至複本伺服器。 在主要複本上執行它們之後,必須在每個複本上手動執行它們。

3.復原記錄清除

在某些情況下,您的復原記錄可能會變大,而且您可能想要清除它。 適用於 MySQL 的 Azure 資料庫提供預存程式,可協助您完成這項工作。

  1. 若要檢查您的資料表空間,請先執行下列命令。
    SELECT NAME, FILE_SIZE, STATE FROM INFORMATION_SCHEMA.INNODB_TABLESPACES WHERE SPACE_TYPE = 'Undo' AND STATE = 'active' ORDER BY NAME;
    
  2. 如果您發現復原記錄很大,請呼叫下列命令來建立新的資料表空間。
    call az_create_undo_tablespace(X)
    
    目前,我們最多支援八個數據表空間,包括兩個預設的。 X 值必須介於 3 到 8 之間。 命令完成之後,新的數據表空間應該處於作用中狀態。
  3. 執行下列命令以停用 innodb_undo_001 (預設值為一)。
    call az_deactivate_undo_tablespace(1)
    
    然後等候 innodb_undo_001 的狀態變成空白 (這表示復原記錄檔已截斷)。
  4. 執行下列命令以啟動innodb_undo_001 (預設一個)。
    call az_activate_undo_tablespace(1)
    
    然後等候 innodb_undo_001 的狀態變成使用中。
  5. 針對innodb_undo_002重複 1-4 個步驟。
  6. 執行 call az_deactivate_undo_tablespace(3); 以停用新建立的數據表空間。 等候狀態變成空白。 然後執行 Call az_drop_undo_tablespace(3); 以卸除新建立的數據表空間。 您無法刪除預設的(innodb_undo_001,innodb_undo_002),只可刪除您所建立的檔案,例如在此範例中是x_undo_003。在卸除之前,請先停用x_undo_003,使其處於空白狀態。

結論

適用於 MySQL 的 Azure 資料庫提供內建預存程式,可簡化進階資料庫管理工作。 這些程式可讓使用者設定複寫、管理復原記錄,以及有效率地啟用外掛程式。 藉由套用這些工具,資料庫管理員可以增強效能、優化記憶體,並確保數據同步處理順暢。