Azure Database for MySQL 中的限制

备注

将要查看的是 Azure Database for MySQL 的新服务。 若要查看经典 MySQL Database for Azure 的文档,请访问此页

以下各部分介绍了数据库服务中的容量、存储引擎支持、特权支持、数据操作语句支持和功能限制。 另请参阅适用于 MySQL 数据库引擎的常规限制

服务器参数

备注

如果要查找服务器参数(如 max_connectionsinnodb_buffer_pool_size)的最小值/最大值,请参阅服务器参数一文。

Azure Database for MySQL 支持优化服务器参数的值。 某些参数(例如 max_connectionsjoin_buffer_sizequery_cache_size)的最小值和最大值由服务器的定价层和 vCore 数决定。 有关这些限制的详细信息,请参阅服务器参数

初始部署后,Azure for MySQL 服务器包含用于时区信息的系统表,但这些表没有填充。 可以通过从 MySQL 命令行或 MySQL Workbench 等工具调用 mysql.az_load_timezone 存储过程来填充时区表。 若要了解如何调用存储过程并设置全局时区或会话级时区,请参阅 Azure 门户Azure CLI 一文。

该服务不支持密码插件,例如“validate_password”和“caching_sha2_password”。

存储引擎

MySQL 支持许多存储引擎。 在 Azure Database for MySQL 上,支持和不支持的存储引擎如下所示:

支持

不支持

权限和数据操作支持

许多服务器参数和设置可能会无意中导致服务器性能下降或使 MySQL 服务器的 ACID 属性无效。 为了在产品级别维护服务完整性和 SLA,此服务不公开多个角色。

MySQL 服务不允许直接访问基础文件系统。 不支持某些数据操作命令。

不支持

不支持以下项:

  • DBA 角色:受限制。 另外,使用管理员用户(在新建服务器的过程中创建)可执行大部分 DDL 和 DML 语句。
  • SUPER 特权:类似地,SUPER 特权也受到限制。
  • DEFINER:需要创建并限制超级权限。 如果使用备份导入数据,请手动删除 CREATE DEFINER 命令,或者在执行 mysqlpump 时使用 --skip-definer 命令。
  • 系统数据库:mysql 系统数据库为只读数据库,用于支持各种 PaaS 功能。 不能对 mysql 系统数据库进行更改。
  • SELECT ... INTO OUTFILE:在该服务中不受支持。
  • LOAD_FILE(file_name):在该服务中不受支持。

支持

  • 支持 LOAD DATA INFILE,但必须指定 [LOCAL] 参数,并将其定向到 UNC 路径(通过 SMB 装载的 Azure 存储空间)。 此外,如果使用 MySQL 客户端版本 >= 8.0,则需要在连接字符串中包含 --local-infile=1 参数。

功能限制

缩放操作

  • 目前不支持动态缩放到“基本”定价层或从该层动态缩放。
  • 不支持减小服务器存储大小。

服务器版本升级

  • 目前不支持在主要数据库引擎版本之间进行自动迁移。 如果要升级到下一个主版本,请进行转储并将其还原到使用新引擎版本创建的服务器。

时间点还原

  • 使用 PITR 功能时,将使用与新服务器所基于的服务器相同的配置创建新服务器。
  • 不支持还原已删除的服务器。

VNet 服务终结点

  • 只有常规用途和内存优化服务器才支持 VNet 服务终结点。

存储大小

  • 有关每个定价层的存储大小限制,请参阅定价层

当前已知的问题

  • 建立连接后,MySQL 服务器实例显示错误的服务器版本。 若要获取正确的服务器实例引擎版本,请使用 select version(); 命令。

后续步骤