Share via


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

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

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

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

注意

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

必要條件

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

列出適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體的伺服器參數

若要列出適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體中的所有參數及其值,請執行 az mysql flexible-server parameter 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 parameter 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 資料表。

下一步