すべてのプロダクト
Search
ドキュメントセンター

PolarDB:エンジンバージョン 5.6、5.7、8.0

最終更新日:Jun 22, 2026

データベースエンジンは、データベースのコアコンポーネントです。PolarDB for MySQL は、5.6、5.7、8.0 の 3 つのメジャーバージョンを提供しています。

次の図に、PolarDB for MySQL アーキテクチャにおける PolarDB for MySQL データベースエンジンの位置を示します。1

エンジンバージョンの構成

PolarDB for MySQL のエンジンバージョン番号は、メジャーバージョン、マイナーバージョン、リビジョンで構成されています。次の図では、PolarDB for MySQL 8.0 を例にこの構成を示します。版本号说明

メジャーバージョンは、PolarDB for MySQL エンジンバージョンの主要な識別子です。メジャーバージョンには通常、1 つ以上のマイナーバージョンが含まれます。たとえば、メジャーバージョン 5.6 にはマイナーバージョン 5.6.16 のみが含まれますが、メジャーバージョン 8.0 には 8.0.1 と 8.0.2 の両方が含まれます。マイナーバージョンが異なると、機能に大きな違いがある場合があります。クラスターを購入する前に、ビジネス要件に最適なマイナーバージョンを選択してください。マイナーバージョンには、複数のリビジョンが含まれる場合もあります。リビジョンには、最適化、改善、または新機能が導入されています。マイナーバージョンとリビジョンには、セキュリティとパフォーマンスの強化も含まれています。

説明

PolarDB for MySQL エンジンバージョンには下位互換性があります。新しいメジャーバージョンには、古いバージョンのすべての機能が含まれているため、アップグレード後にアプリケーションを変更する必要はありません。エンジンバージョンのアップグレード方法の詳細については、「エンジンバージョンのアップグレード」をご参照ください。

リリースノート

各エンジンバージョンには、新機能、機能強化、バグ修正が記載されたリリースノートがあります。詳細については、次のトピックをご参照ください。

エンジンバージョンの互換性

PolarDB for MySQL エンジンは、以下と互換性があります。

  • ANSI/ISO SQL 標準。PolarDB for MySQL では、SQL 互換モードを ANSI に変更できます。これを行うには、sql_mode クラスターパラメータを ANSI に設定します。クラスターパラメータの変更方法については、「クラスターおよびノードパラメータの設定」をご参照ください。

  • ODBC バージョン 0 ~ 3.51。

  • W3C および XPath 標準に準拠した XML 機能。

  • PolarDB for MySQL 5.7 および 8.0 は、RFC 7159 および ECMA-262 で定義されているネイティブ JSON データ型をサポートしています。

次の表に、PolarDB for MySQL エンジンバージョンとコミュニティ MySQL バージョンの互換性を示します。

エンジンバージョン

互換性のある MySQL バージョン

8.0.2

8.0.18 以前

8.0.1

8.0.13 以前

5.7

5.7.28 以前

5.6

5.6.16 以前

新機能の SQL 構文

CREATE TABLE

CREATE TABLE 構文については、SHOW CREATE TABLE などの操作、mysqldump ツールの使用、またはバイナリログの同期時に、特定の構文を自動的に追加することで互換性を確保します。次の例で詳細を説明します。

  • 必要な互換性構文は、SHOW CREATE TABLE の出力に自動的に含まれます。例:

    CREATE TABLE `t1` (c1 int, KEY(c1) GLOBAL) ENGINE=InnoDB PARTITION BY HASH (`c1`) PARTITIONS 4;
    Query OK, 0 rows affected (0.06 sec)
    SHOW CREATE TABLE t1;
    +-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | Table | Create Table                                                                                                                                                                                                         |
    +-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | t1    | CREATE TABLE `t1` (
      `c1` int(11) DEFAULT NULL,
      KEY `c1` (`c1`) /*!99990 800020207 GLOBAL */
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
    /*!50100 PARTITION BY HASH (`c1`)
    PARTITIONS 4 */ |
  • mysqldump ツールは、必要な互換性構文を出力に自動的に含めます。例:

    CREATE TABLE `t1` (c1 int, KEY(c1) GLOBAL) ENGINE=InnoDB PARTITION BY HASH (`c1`) PARTITIONS 4;
    --result
    mysqldump --compact test t1
    include/mysqlbinlog.inc
    /*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
    /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
    DELIMITER /*!*/;
    ROLLBACK/*!*/;
    # [empty]
    # original_commit_timestamp= MICROSECONDS-FROM-EPOCH (YYYY-MM-DD HOURS:MINUTES:SECONDS TZ)
    # immediate_commit_timestamp= MICROSECONDS-FROM-EPOCH (YYYY-MM-DD HOURS:MINUTES:SECONDS TZ)
    /*!80001 SET @@session.original_commit_timestamp= MICROSECONDS-FROM-EPOCH*//*!*/;
    /*!80014 SET @@session.original_server_version= ORIGINAL_SERVER_VERSION*//*!*/;
    /*!80014 SET @@session.immediate_server_version= IMMEDIATE_SERVER_VERSION*//*!*/;
    SET @@SESSION.GTID_NEXT= '#'/*!*/;
    use `test`/*!*/;
    SET TIMESTAMP=#/*!*/;
    SET @@session.pseudo_thread_id=#/*!*/;
    SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
    SET @@session.sql_mode=1168113696/*!*/;
    SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
    /*!\C utf8mb4 *//*!*/;
    SET @@session.character_set_client=255,@@session.collation_connection=255,@@session.collation_server=255/*!*/;
    SET @@session.lc_time_names=0/*!*/;
    SET @@session.collation_database=DEFAULT/*!*/;
    /*!80011 SET @@session.default_collation_for_utf8mb4=255*//*!*/;
    /*!80013 SET @@session.sql_require_primary_key=0*//*!*/;
    CREATE TABLE `t1` (
      `c1` int(11) DEFAULT NULL,
      KEY `c1` (`c1`) /*!99990 800020207 GLOBAL */
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
    /*!50100 PARTITION BY HASH (`c1`)
    PARTITIONS 4 */
    /*!*/;
  • 必要な互換性構文は、バイナリログ同期中に自動的に追加されます。

    この例では、PolarDB for MySQL 8.0.2.2.0 から MySQL 8.0.27 へのバイナリログ同期を示します。

    1. Data Transmission Service (DTS) を使用して、PolarDB for MySQL から MySQL へバイナリログを同期します。詳細については、「PolarDB for MySQL から ApsaraDB RDS for MySQL へのデータ同期」をご参照ください。

    2. PolarDB for MySQL 8.0.2.2.0 と MySQL でのバイナリログ同期の結果を確認します。

      PolarDB for MySQL における結果:

      root:test> show create table t6;
      +-------+--------------------------------------------------------------+
      | Table | Create Table                                                 |
      +-------+--------------------------------------------------------------+
      | t6    | CREATE TABLE `t6` (
        `a` int(11) DEFAULT NULL,
        `b` int(11) DEFAULT NULL
      ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
      /*!99990 800020200 PARTITION BY HASH (`a`)
      SUBPARTITION BY LIST (`b`)
      (PARTITION p0
       (SUBPARTITION s0 VALUES IN (1,2,3,4,5) ENGINE = InnoDB,
        SUBPARTITION s1 VALUES IN (6,7,8,9,10) ENGINE = InnoDB),
       PARTITION p1
       (SUBPARTITION s2 VALUES IN (1,2,3,4,5) ENGINE = InnoDB,
        SUBPARTITION s3 VALUES IN (6,7,8,9,10) ENGINE = InnoDB)) */ |
      +-------+--------------------------------------------------------------+
      1 row in set (4.72 sec)

      MySQL における結果:

      root:test> show create table t6;
      +-------+------------------------------------------------------------+
      | Table | Create Table                                               |
      +-------+------------------------------------------------------------+
      | t6    | CREATE TABLE `t6` (
        `a` int DEFAULT NULL,
        `b` int DEFAULT NULL
      ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci |
      +-------+------------------------------------------------------------+
      1 row in set (0.00 sec)

      出力に示されているように、MySQL の結果には PolarDB for MySQL の新機能は含まれていません。

      説明

      PolarDB for MySQL から MySQL へのデータ同期後、PolarDB for MySQL 固有の新機能は利用できません。

その他の DDL 操作

CREATE TABLE 以外の DDL 操作については、PolarDB for MySQL 構文用の互換性コメントを手動で追加する必要があります。以下の形式を使用してください。

/*!99990 800020200 Special new PolarDB Syntax SQL supported >= version 2.2.0 */

例:

CREATE TABLE `t1` (
`c1` int(11) DEFAULT NULL,
KEY `c1` (`c1`) /*!99990 800020207 GLOBAL */
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
/*!50100 PARTITION BY HASH (`c1`)
PARTITIONS 4 */

エンジンバージョンの確認

クラスターのエンジンバージョンは、以下の方法で確認できます。

  • PolarDB コンソールにログインします。クラスターの概要 ページで、カーネルバージョン を確認します。

  • または、show variables like "%polardb_version%";show variables like '%rds_release_date%'; コマンドを実行してバージョン番号を取得します。

    説明
    • PolarDB for MySQL 5.6 クラスターの場合、バージョン番号を取得するには show variables like '%rds_release_date%'; コマンドのみを使用できます。

    • PolarDB for MySQL エンジンバージョン番号の詳細な説明については、「エンジンバージョンの構成」をご参照ください。

エンジンバージョンのアップグレード

  • メジャーバージョンおよびマイナーバージョンのアップグレード

    • メジャーバージョンアップグレード

      メジャーバージョンアップグレード機能を使用して、たとえば PolarDB for MySQL 5.6 から PolarDB for MySQL 8.0 へアップグレードできます。

    • マイナーバージョンアップグレード

      PolarDB for MySQL は現在、マイナーバージョンのアップグレードをサポートしていません。ただし、DTS を使用してソースバージョンからターゲットバージョンのクラスターにデータを移行または同期することで、アップグレードを完了できます。データの移行または同期の方法の詳細については、「データ移行ソリューションの概要」をご参照ください。

  • リビジョンのアップグレード

    リビジョンのアップグレード方法については、「リビジョンのアップグレード」をご参照ください。