

# 与 MySQL 5.7 兼容的 Aurora MySQL 版本 2
<a name="AuroraMySQL.CompareMySQL57"></a>

本主题介绍 Aurora MySQL 版本 2 和 MySQL 5.7 社区版之间的区别。

**重要**  
Aurora MySQL 版本 2 的标准支持已于 2024 年 10 月 31 日结束。有关更多信息，请参阅 [为 Amazon Aurora MySQL 兼容版的版本 2 终止标准支持做好准备](Aurora.MySQL57.EOL.md)。

## Aurora MySQL 版本 2 中不支持的功能
<a name="AuroraMySQL.CompareV2Community"></a>

以下功能在 MySQL 5.7 中受支持，但目前在 Aurora MySQL 版本 2 中不受支持：
+ `CREATE TABLESPACE` SQL 语句
+ 组复制插件
+ 增加的页面大小
+ InnoDB 缓冲池启动时加载
+ InnoDB 全文分析器插件
+ 多源复制
+ 在线缓冲池大小调整
+ 密码验证插件 – 您可以安装插件，但不受支持。无法自定义插件。
+ 查询重写插件
+ 复制筛选
+ X 协议

有关这些功能的更多信息，请参阅 [MySQL 5.7 文档](https://dev.mysql.com/doc/refman/5.7/en/)。

## Aurora MySQL 版本 2 中的临时表空间行为
<a name="AuroraMySQL.TempTables57"></a>

在 MySQL 5.7 中，临时表空间会自动扩展并根据需要增加大小，以容纳磁盘上的临时表。删除临时表时，释放的空间可以重新用于新的临时表，但临时表空间保持扩展的大小而不会缩小。当引擎重新启动时，将删除并重新创建临时表空间。

在 Aurora MySQL 版本 2 中，以下行为适用：
+ 对于使用版本 2.10 及更高版本创建的新的 Aurora MySQL 数据库集群，在您重新启动数据库时将删除并重新创建临时表空间。这允许动态调整大小功能回收存储空间。
+ 对于升级到以下版本的现有 Aurora MySQL 数据库集群：
  + 版本 2.10 或更高版本 - 当您重新启动数据库时，将删除并重新创建临时表空间。这允许动态调整大小功能回收存储空间。
  + 版本 2.09 - 重新启动数据库时不会删除临时表空间。

您可以使用以下查询检查 Aurora MySQL 版本 2 数据库集群上临时表空间的大小：

```
SELECT
    FILE_NAME,
    TABLESPACE_NAME,
    ROUND((TOTAL_EXTENTS * EXTENT_SIZE) / 1024 / 1024 / 1024, 4) AS SIZE
FROM
    INFORMATION_SCHEMA.FILES
WHERE
    TABLESPACE_NAME = 'innodb_temporary';
```

有关更多信息，请参阅 MySQL 文档中的[临时表空间](https://dev.mysql.com/doc/refman/5.7/en/innodb-temporary-tablespace.html)。

## 磁盘上的临时表的存储引擎
<a name="AuroraMySQL.StorageEngine57"></a>

Aurora MySQL 版本 2 根据实例的角色对磁盘上的内部临时表使用不同的存储引擎。
+ 在写入器实例上，在默认情况下，磁盘上的临时表使用 InnoDB 存储引擎。它们存储在 Aurora 集群卷的临时表空间中。

  您可以通过修改数据库参数 `internal_tmp_disk_storage_engine` 的值来更改写入器实例上的这一行为。有关更多信息，请参阅 [实例级参数](AuroraMySQL.Reference.ParameterGroups.md#AuroraMySQL.Reference.Parameters.Instance)。
+ 在读取器实例上，磁盘上的临时表使用 MyISAM 存储引擎，该引擎使用本地存储。这是因为只读实例无法在 Aurora 集群卷上存储任何数据。