你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
本文介绍 Azure Database for MySQL 灵活服务器中的限制。 MySQL 数据库引擎中的常规限制也适用。 若要了解资源限制(计算、内存、存储),请参阅有关计算和存储的文章。
服务器参数
Azure Database for MySQL 灵活服务器支持优化服务器参数的值。 某些参数的最小值和最大值(例如 max_connections、join_buffer_size、query_cache_size)在你计算服务器大小之前由计算层确定。 若要详细了解这些限制以及服务器参数(如 max_connections 和 innodb_buffer_pool_size)的最小值和最大值,请参阅有关服务器参数的文章。
生成的不可见主键
对于 MySQL 8.0 及更高版本,默认为所有 Azure Database for MySQL 灵活服务器实例启用生成的不可见主键 (GIPK)。
MySQL 8.0+ 服务器将不可见列 my_row_id 添加到该列上的表和主键,在其中创建 InnoDB 表时没有显式主键。 因此,除非表创建语句还指定显式主键,否则不能创建列名为 my_row_id 的表。
了解详细信息。
默认情况下,GIPK 显示在 SHOW CREATE TABLE、SHOW COLUMNS 和 SHOW INDEX 的输出中。 GIPK 在 INFORMATION_SCHEMACOLUMNS 表和 STATISTICS 表中也可见。
若要更详细地了解 GIPK 及其在数据传入复制中的用例,请参阅将数据复制到 Azure Database for MySQL 灵活服务器。
禁用 GIPK 的步骤
如果要禁用 GIPK,可以使用两个选项:
使用 Azure 门户或
OFF将 sql_generate_invisible_primary_key 服务器参数的值更改为 。连接到 Azure Database for MySQL 灵活服务器实例,并运行以下命令:
mysql> SET sql_generate_invisible_primary_key=OFF;
lower_case_table_names
对于 MySQL 版本 8.0 及以下版本 ,只能在初始化服务器时进行配置 lower_case_table_names 。
了解详细信息。 禁止在初始化服务器后更改 lower_case_table_names 设置。 在 Azure Database for MySQL 灵活服务器中,MySQL 版本 8.0 支持的值是 1 和 2。 默认值为 1。
可以在创建服务器期间在门户中配置这些设置,方法是在“其他配置”页上的“服务器参数”下指定所需的值。 对于还原作或副本服务器创建,参数将自动从源服务器复制,并且无法更改。
如果使用的是 MySQL 5.7 版本,则 Azure Database for MySQL 灵活服务器中 lower_case_table_names 的默认值为 1。 尽管可以将支持的值更改为 2,但不允许从 2 重新还原为 1。 有关更改默认值的帮助,请创建支持票证。
存储引擎
MySQL 支持许多存储引擎。 以下列表显示了 Azure Database for MySQL 灵活服务器中支持的和不支持的存储引擎。
支持的引擎
注释
- 单个 MySQL 文件支持的最大大小在 Azure Database for MySQL -Flexible 服务器中为 8 TB。
不支持的引擎
权限和数据操作支持
许多服务器参数和设置可能会无意中导致服务器性能下降或使 MySQL 服务器的 ACID 属性(原子性、一致性、隔离性和持久性)无效。 为了在产品级别维护服务完整性和服务级别协议,Azure Database for MySQL 灵活服务器不会公开多个角色。
Azure Database for MySQL 灵活服务器不允许直接访问基础文件系统。 不支持某些数据操作命令。
支持的权限
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 地址)”,反之亦然。
停止/启动操作
只读副本配置(源和副本)不支持那些用于停止和启动服务器的操作。
缩放操作
不支持减少预配的服务器存储。
服务器版本升级
不支持在主要数据库引擎版本之间进行自动迁移。 如果要升级到主要版本,请在使用新引擎版本创建的服务器上使用转储并还原。
还原服务器
使用时间点还原时,新服务器具有的计算和存储配置与其所基于的源服务器相同。 可以在创建服务器后纵向缩减新还原的服务器的计算。
功能比较
在 Azure Database for MySQL 单一服务器中,并非所有可用的功能都在 Azure Database for MySQL 灵活服务器中可用。
有关 Azure Database for MySQL 单一服务器和 Azure Database for MySQL 灵活服务器之间的功能比较的完整列表,请参阅有关如何在 Azure 中选择适当的 MySQL Server 选项的文章。