Azure Database for MySQL 灵活服务器限制
本文介绍了 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_SCHEMA
COLUMNS 表和 STATISTICS 表中也可见。
有关 GIPK 及其使用数据传入复制用例的更多详细信息,请参阅将数据复制到 Azure Database for MySQL - 灵活服务器。
禁用 GIPK 的步骤
如果要禁用 GIPK,有两个选项:
使用 Azure 门户或 Azure CLI 将 sql_generate_invisible_primary_key 服务器参数的值更改为
OFF
。连接到 Azure Database for MySQL - 灵活服务器实例,并运行以下命令:
mysql> SET sql_generate_invisible_primary_key=OFF;
lower_case_table_names
在 Azure Database for MySQL - 灵活服务器中,如果是 MySQL 5.7 版本,则 lower_case_table_names
的默认值为 1
。 如果需要调整此设置,建议创建支持票证。 请务必了解,将参数值更改为 2
后,不允许将其还原为 1
。
对于 MySQL 版本 8.0,禁止在初始化服务器后更改 lower_case_table_names
设置。 了解详细信息。 在 Azure Database for MySQL - 灵活服务器中,如果是 MySQL 8.0 版本,则 lower_case_table_names
的默认值为 1
。 如果要将此参数更改为 2
,建议创建 MySQL 5.7 服务器,并创建支持票证,以获取有关更改的帮助。 稍后,如有必要,可以将服务器升级到版本 8.0。
存储引擎
MySQL 支持许多存储引擎。 以下列表显示了 Azure Database for MySQL - 灵活服务器中支持和不支持的存储引擎。
支持的引擎
不支持的引擎
权限和数据操作支持
许多服务器参数和设置可能会无意中降低服务器性能或否定 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
命令或在执行 mysqlpump 备份时使用--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 服务器选项的文章。