分享方式:


使用 Azure CLI 在適用於 MySQL 的 Azure 資料庫 - 彈性伺服器中設定伺服器參數

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

您可以使用 Azure CLI、Azure 命令行公用程式,列出、顯示及更新 適用於 MySQL 的 Azure 資料庫 彈性伺服器實例的參數。 當您建立伺服器時,伺服器參數會設定為預設值和建議值。

本文說明如何使用 Azure CLI 列出、顯示和更新伺服器參數。

注意

伺服器參數可以使用 Azure CLIAzure 入口網站在伺服器層級全域更新

必要條件

若要逐步執行本作法指南,您需要︰

列出 適用於 MySQL 的 Azure 資料庫 彈性伺服器實例的伺服器參數

若要列出 適用於 MySQL 的 Azure 資料庫 彈性伺服器實例及其值中的所有參數,請執行 az mysql flexible-server 參數 list 命令。

您可以針對資源群組 myresourcegroup 下的伺服器 mydemoserver.mysql.database.azure.com,列出伺服器參數。

az mysql flexible-server parameter list --resource-group myresourcegroup --server-name mydemoserver

如需每個列出參數的定義,請參閱伺服器系統變數 \(英文\) 中的 MySQL 參考小節。

顯示伺服器參數詳細資料

若要顯示 適用於 MySQL 的 Azure 資料庫 彈性伺服器實例之特定參數的詳細數據,請執行 az mysql flexible-server 參數 show 命令。

此範例會針對資源群組 myresourcegroup 下的伺服器 mydemoserver.mysql.database.azure.com,顯示 slow_query_log 伺服器參數的詳細資料。

az mysql flexible-server parameter show --name slow_query_log --resource-group myresourcegroup --server-name mydemoserver

修改伺服器參數值

您也可以修改特定 適用於 MySQL 的 Azure 資料庫 彈性伺服器實例參數的值,以更新 MySQL 伺服器引擎的基礎組態值。 若要更新伺服器參數,請使用 az mysql flexible-server parameter set 命令。

若要針對資源群組 myresourcegroup 下的伺服器 mydemoserver.mysql.database.azure.com 更新 slow_query_log 伺服器參數。

az mysql flexible-server parameter set --name slow_query_log --resource-group myresourcegroup --server-name mydemoserver --value ON

若要更新多個伺服器參數,例如資源群組 myresourcegroup 下伺服器 mydemoserver.mysql.database.azure.comslow_query_logaudit_log_enabled

az mysql flexible-server parameter set-batch -resource-group myresourcegroup --server-name mydemoserver --source "user-override" --args slow_query_log="ON" audit_log_enabled="ON"

如果您想要重設參數的值,請省略選擇性的 --value 參數,而服務會套用預設值。 針對上述範例,看起來應該像這樣:

az mysql flexible-server parameter set --name slow_query_log --resource-group myresourcegroup --server-name mydemoserver

此程式碼會將 slow_query_log 重設為預設值 OFF

設定不可修改的伺服器參數

如果您想要更新的 適用於 MySQL 的 Azure 資料庫 彈性伺服器參數不可修改,您可以選擇性地使用 init_connect在連接層級設定 參數。 這會設定連接到伺服器的每個用戶端的伺服器參數。

更新資源群組 myresourcegroupmydemoserver.mysql.database.azure.com 伺服器的 init_connect 伺服器參數,以設定字元集之類的值。

az mysql flexible-server parameter set --name init_connect --resource-group myresourcegroup --server-name mydemoserver --value "SET character_set_client=utf8;SET character_set_database=utf8mb4;SET character_set_connection=latin1;SET character_set_results=latin1;"

注意

init_connect 可用來變更在工作階段層級不需要 SUPER 權限的參數。 若要確認您是否可以使用 init_connect 來設定參數,請執行 set session parameter_name=YOUR_DESIRED_VALUE; 命令;如果出現「拒絕存取;您需要 SUPER 權限」錯誤,表示您無法使用 'init_connect' 來設定參數。

使用時區參數

設定全域層級時區

全域層級時區可以使用 az mysql flexible-server parameter set 命令來設定。

以下命令會將資源群組 myresourcegroup 下的伺服器 mydemoserver.mysql.database.azure.comtime_zone 伺服器參數更新為 US/Pacific

az mysql flexible-server parameter set --name time_zone --resource-group myresourcegroup --server-name mydemoserver --value "US/Pacific"

設定工作階段層級時區

工作階段層級時區可以藉由從 MySQL 命令列或 MySQL Workbench 等工具呼叫 SET time_zone 命令來設定。 以下範例將時區設為 US/Pacific 時區。

SET time_zone = 'US/Pacific';

如需日期和時間函式 \(英文\) 的詳細資訊,請參閱 MySQL 文件。

注意

若要在工作階段層級上變更時區,則伺服器參數 time_zone 至少要全域更新一次來變更為所需的時區,才能更新 mysql.time_zone_name 資料表。

下一步