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

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

重要

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

您可以使用 Azure CLI (Azure 命令列公用程式),來列出、顯示和更新適用於 MySQL 的 Azure 資料庫伺服器的設定參數。 有一部分的引擎設定會在伺服器層級公開而且可供修改。

注意

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

必要條件

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

列出適用於 MySQL 的 Azure 資料庫伺服器的伺服器設定參數

若要列出伺服器中所有可修改的參數及其值,請執行 az mysql server configuration list 命令。

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

az mysql server configuration list --resource-group myresourcegroup --server mydemoserver

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

顯示伺服器設定參數的詳細資料

若要顯示有關伺服器特定設定參數的詳細資訊,請執行 az mysql server configuration show 命令。

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

az mysql server configuration show --name slow_query_log --resource-group myresourcegroup --server mydemoserver

修改伺服器設定參數值

您也可以修改特定伺服器設定參數的值,以更新適用於 MySQL 伺服器引擎的基礎設定值。 若要更新設定,請使用 az mysql server configuration set 命令。

更新資源群組 myresourcegroup 下伺服器 mydemoserver.mysql.database.azure.comslow_query_log 伺服器設定參數。

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

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

az mysql server configuration set --name slow_query_log --resource-group myresourcegroup --server mydemoserver

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

未列出設定參數

如果 Azure 入口網站中未列出您要更新的伺服器參數,可以使用 init_connect,選擇性地在連線層級設定參數。 這會針對每個連線到伺服器的用戶端設定伺服器參數。

更新資源群組 myresourcegroup 下伺服器 mydemoserver.mysql.database.azure.cominit_connect 伺服器設定參數,以設定字元集之類的值。

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

使用時區參數

填入時區資料表

伺服器上的時區資料表,可以藉由從 MySQL 命令列或 MySQL Workbench 等工具呼叫 mysql.az_load_timezone 預存程序來填入。

注意

如果您是從 MySQL Workbench 執行 mysql.az_load_timezone 命令,您可能需要先執行 SET SQL_SAFE_UPDATES=0; 以關閉安全更新模式。

CALL mysql.az_load_timezone();

重要

建議重新開機伺服器,以確保正確填入時區資料表。 若要重新開機伺服器,請使用 Azure 入口網站CLI

若要檢視可用的時區值,請執行以下命令:

SELECT name FROM mysql.time_zone_name;

設定全域層級時區

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

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

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

設定工作階段層級時區

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

SET time_zone = 'US/Pacific';

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

下一步