使用 Azure CLI 在適用於 MySQL 的 Azure 資料庫 - 彈性伺服器中設定伺服器參數
您可以使用 Azure CLI、Azure 命令行公用程式,列出、顯示及更新 適用於 MySQL 的 Azure 資料庫 彈性伺服器實例的參數。 當您建立伺服器時,伺服器參數會設定為預設值和建議值。
本文說明如何使用 Azure CLI 列出、顯示和更新伺服器參數。
注意
伺服器參數可以在伺服器層級全域更新,使用 適用於 MySQL 的 Azure 資料庫 中的設定伺服器參數 - 使用 Azure CLI 的彈性伺服器,或在 適用於 MySQL 的 Azure 資料庫 中設定伺服器參數 - 使用 Azure 入口網站 彈性伺服器
必要條件
若要逐步執行本作法指南,您需要︰
- 快速入門:使用 Azure CLI 建立 適用於 MySQL 的 Azure 資料庫 - 彈性伺服器實例
- Azure CLI 命令列公用程式,或在瀏覽器中使用 Azure Cloud Shell。
列出 適用於 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 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.com 的 slow_query_log 和 audit_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
在聯機層級設定 參數。 這會設定連接到伺服器的每個用戶端的伺服器參數。
更新資源群組 myresourcegroup 下 mydemoserver.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.com 的 time_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 資料表。