本文說明「適用於 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 的輸出中。 GIPK 也可在 INFORMATION_SCHEMACOLUMNS 和 STATISTICS 資料表中看到。
如需 GIPK 及其使用案例與資料輸入複寫的詳細資料,請參閱將資料複寫到「適用於 MySQL 的 Azure 資料庫 - 彈性伺服器」。
停用 GIPK 的步驟
如果您想要停用 GIPK,您有兩個選項:
使用 Azure 入口網站或
OFF將 sql_generate_invisible_primary_key 伺服器參數的值變更為 。連接到「適用於 MySQL 的 Azure 資料庫 - 彈性伺服器」執行個體並執行以下命令:
mysql> SET sql_generate_invisible_primary_key=OFF;
lower_case_table_names
對於 MySQL 8.0+ 版 ,您只能在初始化伺服器時進行設定 lower_case_table_names 。
深入了解。 禁止在初始化伺服器之後變更 lower_case_table_names 設定。 MySQL 8.0 版的支援值為適用於 MySQL 的 Azure 資料庫 - 彈性伺服器中的 1 和 2。 預設值是 1。
您可以在建立伺服器期間,在入口網站中設定這些設定,方法是在 [其他組態] 頁面的 [伺服器參數] 下指定所需的值。 對於還原作業或建立複本伺服器,參數會自動從來源伺服器複製,且無法變更。
針對 MySQL 5.7 版,lower_case_table_names 的預設值是適用於 MySQL 的 Azure 資料庫中 - 彈性伺服器中的 1。 雖然可以將支援的值變更為 2,但不允許從 2 還原回 1。 如需變更預設值的協助,請建立支援票證。
儲存引擎
MySQL 支援許多儲存引擎。 下列清單顯示「適用於 MySQL 的 Azure 資料庫 - 彈性伺服器」中支援和不支援的儲存引擎。
支援的引擎
備註
- 單一 MySQL 檔案支援的大小上限為適用於 MySQL 的 Azure 資料庫 -Flexible 伺服器中的 8 TB。
不支援的引擎
權限和資料操作支援
許多伺服器參數與設定可能會在無意中造成伺服器效能降級,或是否定 MySQL 伺服器的 ACID (不可部分完成性、一致性、隔離性和持久性) 屬性。 為了在產品層級維護服務完整性和服務等級協定,「適用於 MySQL 的 Azure 資料庫 - 彈性伺服器」不會公開多個角色。
「適用於 MySQL 的 Azure 資料庫 - 彈性伺服器」不允許直接存取底層檔案系統。 不支援某些資料操作命令。
支援的權限
LOAD DATA INFILE受到支援,但您必須指定[LOCAL]參數並將其導向到 UNC 路徑 (透過伺服器訊息區塊掛接的 Azure 儲存體)。 如果您使用 MySQL 用戶端 8.0 版或更新版本,則需要在連接字串中包含-–local-infile=1參數。對於 MySQL 8.0 版和更新版本,僅支援下列動態權限:
不支援的權限
資料庫管理員 (DBA) 角色受到限制。 或者,您也可以使用在建立新伺服器期間指派的系統管理員使用者角色。 此角色可讓您執行大部分的資料定義語言 (DDL) 和資料操作語言 (DML) 陳述式。
下列的靜態權限受到限制:
不支援授與使用移轉工具進行備份的 BACKUP_ADMIN 權限。
DEFINER需要SUPER權限才能建立且受到限制。 如果您使用備份來匯入資料,在您執行CREATE DEFINER備份時請以手動方式移除--skip-definer命令或使用 命令。mysql 系統資料庫是唯讀的,並支援各種平台即服務 (PaaS) 功能。 您無法對
mysql系統資料庫進行變更。SELECT ... INTO OUTFILE在該服務中不受支援。
功能限制
區域備援高可用性
您只能在伺服器建立期間設定區域備援高可用性組態。 此組態在高載計算層中不受支援。
網路
建立伺服器之後,您就無法變更連線方法。 如果您建立具有私人存取 (虛擬網路整合) 的伺服器,則在建立後無法將其變更為公用存取 (允許的 IP 位址),反之亦然。
停止/啟動作業
讀取複本組態 (來源和複本) 不支援停止和啟動伺服器的作業。
調整作業
不支援減少已佈建的伺服器儲存體。
伺服器版本升級
目前不支援在主要資料庫引擎版本間進行自動轉換。 如果您想要升級主要版本,請在使用新引擎版本建立的伺服器上使用傾印和還原。
還原伺服器
透過時間點還原,新伺服器具有與其所基於的來源伺服器相同的計算和儲存體組態。 建立伺服器後,您可以縮減新還原的伺服器的運算能力。
功能比較
可在「適用於 MySQL 的 Azure 資料庫 - 單一伺服器」取得的功能,並非全都可在「適用於 MySQL 的 Azure 資料庫 - 彈性伺服器」中取得。
如需「適用於 MySQL 的 Azure 資料庫 - 單一伺服器」與「適用於 MySQL 的 Azure 資料庫 - 彈性伺服器」之間的功能比較的完整清單,請參閱有關在 Azure 中選擇正確的 MySQL 伺服器選項的文章。