Azure Database for MySQL 灵活服务器限制
适用于:Azure Database for MySQL - 灵活服务器
本文介绍了 Azure Database for MySQL 灵活服务器中的限制。 MySQL 数据库引擎中的常规限制也适用。 若要了解资源限制(计算、内存、存储),请参阅计算和存储一文。
服务器参数
注意
- 如果要查找服务器参数(如
max_connections
和innodb_buffer_pool_size
)的最小值/最大值,请参阅服务器参数一文中的服务器参数概念。 - lower_case_table_names 值在 Azure Database for MySQL 灵活服务器中只能设置为 1。
Azure Database for MySQL 灵活服务器支持优化服务器参数的值。 某些参数的最小值和最大值(例如 max_connections
、join_buffer_size
、query_cache_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 的输出中,并在信息架构 COLUMNS 和 STATISTICS 表中可见。 有关 Azure Database for MySQL 灵活服务器中的 GIPK 及其与复制中的数据的用例的更多详细信息,请参阅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,就不允许从 2 还原到 1。
对于 MySQL 版本 8.0,请注意,禁止在初始化服务器后更改 lower_case_table_names 设置。 了解详细信息。 在 Azure Database for MySQL 灵活服务器 8.0 版本中,lower_case_table_names
的默认值为 1。 如果想要将此参数修改为 2,建议创建 MySQL 5.7 服务器,联系支持团队以获取有关更改的帮助。之后如有需要,可以将服务器升级到版本 8.0。
存储引擎
MySQL 支持许多存储引擎。 在 Azure Database for MySQL 灵活服务器上,以下是受支持和不受支持的存储引擎列表:
支持
不支持
权限和数据操作支持
许多服务器参数和设置可能会无意中导致服务器性能下降或使 MySQL 服务器的 ACID 属性无效。 此服务不公开多个角色,以在产品级别维护服务完整性和 SLA。
MySQL 服务不允许直接访问基础文件系统。 不支持某些数据操作命令。
不支持
不支持以下项:
- DBA 角色:受限制。 另外,可以使用管理员用户(在新建服务器的过程中创建),这让你能够执行大部分 DDL 和 DML 语句。
- 以下静态特权受到限制。
- BACKUP_ADMIN 权限:使用任何实用工具进行备份时都不支持授予 BACKUP_ADMIN 权限。 有关受支持的动态特权列表,请参阅支持部分。
- DEFINER:需要创建并限制超级权限。 如果使用备份导入数据,请在在执行 mysqlpump 时手动删除
CREATE DEFINER
命令或使用--skip-definer
命令。 - 系统数据库:mysql 系统数据库为只读数据库,用于支持各种 PaaS 功能。 不能对
mysql
系统数据库进行更改。 SELECT ... INTO OUTFILE
:在该服务中不受支持。
支持
- 支持
LOAD DATA INFILE
,但必须指定[LOCAL]
参数,并将其定向到 UNC 路径(通过 SMB 装载的 Azure 存储空间)。 此外,如果使用的 MySQL 客户端版本 >= 8.0,则需在连接字符串中包含--local-infile=1
参数。 - 对于 MySQL 8.0 及更高版本,仅支持下面提到的动态特权。
功能限制
区域冗余 HA
- 只能在服务器创建过程中设置此配置。
- 在可突发计算层中不受支持。
网络
- 创建服务器后,无法更改连接方法。 如果服务器通过专用访问(虚拟网络集成)创建,则在创建后,不能将其更改为公共访问(允许的 IP 地址),反之亦然
停止/启动操作
- 只读副本配置(源配置和副本配置)不支持。
缩放操作
- 不支持减小预配的服务器存储。
服务器版本升级
- 不支持在主要数据库引擎版本之间进行自动迁移。 如果要升级到主版本,请转储并还原到使用新引擎版本创建的服务器。
还原服务器
- 使用时间点还原功能时,将使用与新服务器所基于的源服务器相同的计算和存储配置创建新服务器。 创建服务器后,新还原的服务器的计算可以缩减。
功能比较
并非 Azure Database for MySQL 单一服务器中的所有功能都在 Azure Database for MySQL 灵活服务器中可用。
有关 Azure Database for MySQL 单一服务器与 Azure Database for MySQL 灵活服务器之间的功能比较的完整列表,请参阅在 Azure 中选择适当的 MySQL Server 选项。