Azure MySQL Database 中的「限制」- 彈性伺服器
本文說明 適用於 MySQL 的 Azure 資料庫 - 彈性伺服器的限制。 MySQL 資料庫引擎中的一般限制 也適用。 如果您想要瞭解資源限制(計算、記憶體、記憶體),請參閱 關於計算和記憶體的文章。
伺服器參數
適用於 MySQL 的 Azure 資料庫 - 彈性伺服器支援微調伺服器參數的值。 某些參數的最小值和最大值 (例如 , max_connections
join_buffer_size
query_cache_size
) 是由計算層和計算伺服器大小之前所決定。 如需這些限制的詳細資訊,以及和 等max_connections
innodb_buffer_pool_size
伺服器參數的最小值和最大值,請參閱伺服器參數的相關文章。
產生的不可見主鍵
針對 MySQL 8.0 版和更新版本,預設會針對所有 適用於 MySQL 的 Azure 資料庫 - 彈性伺服器實例啟用不可見的主鍵 (GIPK)。
MySQL 8.0+ 伺服器會將不可見的數據行 my_row_id
新增至該數據行上的數據表和主鍵,其中會建立 InnoDB 數據表而沒有明確的主鍵。 基於這個理由,除非數據表建立語句也指定明確的主鍵,否則您無法建立名為 my_row_id
數據行的數據表。 深入了解。
根據預設,GIPK 會出現在 SHOW CREATE TABLE、SHOW COLUMNS 和 SHOW INDEX 的輸出中。 資料列和 STATISTICS 資料表中INFORMATION_SCHEMA
也會顯示 GIPK。
如需 GIPK 及其使用案例與數據輸入複寫的詳細資訊,請參閱將數據復寫到 適用於 MySQL 的 Azure 資料庫 - 彈性伺服器。
停用 GIPK 的步驟
如果您想要停用 GIPK,您有兩個選項:
使用 Azure 入口網站 或 Azure CLI,將 sql_generate_invisible_primary_key 伺服器參數的值變更為
OFF
。線上到您的 適用於 MySQL 的 Azure 資料庫 - 彈性伺服器實例,然後執行下列命令:
mysql> SET sql_generate_invisible_primary_key=OFF;
lower_case_table_names
在 適用於 MySQL 的 Azure 資料庫 - 彈性伺服器中,適用於 MySQL 5.7 版的預設值lower_case_table_names
1
。 如果您需要調整此設定,建議您 建立支援票證。 請務必瞭解,將參數值變更為 2
之後,不允許將參數值還原為 1
。
針對 MySQL 8.0 版,禁止在伺服器初始化之後變更 lower_case_table_names
設定。 深入了解。 在 適用於 MySQL 的 Azure 資料庫 - 彈性伺服器中,MySQL 8.0 版的lower_case_table_names
預設值為 1
。 如果您想要將此參數變更為 2
,建議您建立 MySQL 5.7 伺服器,並 建立支援票證 以協助進行變更。 之後,如有必要,您可以將伺服器升級至8.0版。
儲存引擎
MySQL 支援許多儲存引擎。 下列清單顯示 適用於 MySQL 的 Azure 資料庫 - 彈性伺服器支援和不支援哪些儲存引擎。
支援的引擎
不支援的引擎
許可權和數據操作支援
許多伺服器參數和設定可能會不小心降低伺服器效能,或否定 MySQL 伺服器的 ACID(不可部分完成、一致、隔離和持久)屬性。 若要在產品層級維護服務完整性和服務等級協定,適用於 MySQL 的 Azure 資料庫 - 彈性伺服器不會公開多個角色。
適用於 MySQL 的 Azure 資料庫 - 彈性伺服器不允許直接存取基礎文件系統。 不支援某些資料操作命令。
支援的許可權
LOAD DATA INFILE
支援 ,但您必須指定[LOCAL]
參數,並將它導向至 UNC 路徑(透過伺服器消息塊掛接的 Azure 記憶體)。 如果您使用 MySQL 用戶端 8.0 版或更新版本,則必須在 連接字串 中包含-–local-infile=1
參數。針對 MySQL 8.0 版和更新版本,僅支援下列 動態許可權 :
不支援的許可權
資料庫管理員 (DBA) 角色受到限制。 或者,您可以使用在建立新伺服器期間指派的系統管理員使用者角色。 此角色可讓您執行大部分的數據定義語言 (DDL) 和數據操作語言 (DML) 語句。
下列靜態許可權受到限制:
DEFINER
SUPER
需要建立和限制許可權。 如果您要使用備份匯入數據,請在執行 mysqlpump 備份時手動移除CREATE DEFINER
命令或使用--skip-definer
命令。mysql 系統資料庫是唯讀的,並支援各種平臺即服務 (PaaS) 功能。 您無法對
mysql
系統資料庫進行變更。SELECT ... INTO OUTFILE
服務不支援。
功能限制
區域備援高可用性
您只能在伺服器建立期間設定區域備援高可用性設定。 高載計算層不支援此設定。
網路
建立伺服器之後,您就無法變更連線方法。 如果您使用私人存取建立伺服器 (虛擬網路整合),則建立后無法變更為 公用存取(允許的IP位址), 反之亦然。
停止/啟動作業
讀取複本組態不支援停止和啟動伺服器的作業(來源和複本)。
調整作業
不支援減少布建的伺服器記憶體。
伺服器版本升級
目前不支援在主要資料庫引擎版本間進行自動轉換。 如果您想要升級主要版本,請在以新引擎版本建立的伺服器上使用 傾印和還原 。
還原伺服器
使用時間點還原時,新伺服器與來源伺服器具有相同的計算和記憶體組態。 您可以在建立伺服器之後相應減少新還原伺服器的計算。
功能比較
並非所有 適用於 MySQL 的 Azure 資料庫 中可用的功能 - 單一伺服器可在 適用於 MySQL 的 Azure 資料庫 - 彈性伺服器中使用。
如需 適用於 MySQL 的 Azure 資料庫 - 單一伺服器與 適用於 MySQL 的 Azure 資料庫 - 彈性伺服器之間的功能比較完整清單,請參閱關於在 Azure 中選擇正確的 MySQL Server 選項的文章。