All Products
Search
Document Center

PolarDB:Versi mesin 5.6, 5.7, dan 8.0

Last Updated:Jun 22, 2026

Database engine adalah komponen inti dari sebuah database. PolarDB for MySQL menyediakan tiga versi mesin utama: 5.6, 5.7, dan 8.0.

Gambar berikut menunjukkan posisi database engine PolarDB for MySQL dalam arsitektur PolarDB for MySQL.1

Struktur versi mesin

Nomor versi mesin PolarDB for MySQL terdiri dari versi utama (major version), versi minor (minor version), dan revisi (revision). Gambar berikut mengilustrasikan struktur ini menggunakan PolarDB for MySQL 8.0 sebagai contoh:版本号说明

Versi utama merupakan pengenal utama untuk versi mesin PolarDB for MySQL. Satu versi utama biasanya mencakup satu atau beberapa versi minor. Misalnya, versi utama 5.6 hanya mencakup versi minor 5.6.16, sedangkan versi utama 8.0 mencakup versi 8.0.1 dan 8.0.2. Versi minor yang berbeda dapat memiliki variasi fitur yang signifikan. Pilih versi minor yang paling sesuai dengan kebutuhan bisnis Anda sebelum membeli kluster. Setiap versi minor juga dapat memiliki beberapa revisi. Revisi membawa optimasi, peningkatan, atau fitur baru. Baik versi minor maupun revisi mencakup peningkatan keamanan dan kinerja.

Catatan

Versi mesin PolarDB for MySQL bersifat backward-compatible. Versi utama yang lebih baru mencakup semua fitur dari versi sebelumnya, sehingga Anda tidak perlu memodifikasi aplikasi setelah melakukan upgrade. Untuk informasi selengkapnya tentang cara melakukan upgrade versi mesin, lihat Upgrade an engine version.

Catatan rilis

Setiap versi mesin memiliki catatan rilis yang mencantumkan fitur baru, peningkatan, dan perbaikan bug. Untuk informasi selengkapnya, lihat topik berikut:

Kompatibilitas versi mesin

Engine PolarDB for MySQL kompatibel dengan hal-hal berikut:

  • Standar SQL ANSI/ISO. PolarDB for MySQL memungkinkan Anda mengubah mode kompatibilitas SQL ke ANSI. Untuk melakukannya, atur parameter kluster sql_mode menjadi ANSI. Untuk mempelajari cara memodifikasi parameter kluster, lihat Set cluster and node parameters.

  • Versi ODBC 0 hingga 3.51.

  • Fitur XML yang mengikuti standar W3C dan XPath.

  • PolarDB for MySQL 5.7 dan 8.0 mendukung tipe data JSON native sebagaimana didefinisikan oleh RFC 7159 dan ECMA-262.

Tabel berikut menunjukkan kompatibilitas versi mesin PolarDB for MySQL dengan versi MySQL komunitas.

Engine version

Compatible MySQL version

8.0.2

8.0.18 dan sebelumnya

8.0.1

8.0.13 dan sebelumnya

5.7

5.7.28 dan sebelumnya

5.6

5.6.16 dan sebelumnya

Sintaks SQL untuk fitur baru

CREATE TABLE

Untuk sintaks CREATE TABLE, kompatibilitas secara otomatis dijamin dengan menambahkan sintaks khusus selama operasi seperti SHOW CREATE TABLE, saat menggunakan tool mysqldump, atau saat menyinkronkan binary log. Contoh berikut memberikan detail lebih lanjut:

  • Sintaks kompatibilitas yang diperlukan secara otomatis disertakan dalam output SHOW CREATE TABLE. Contoh:

    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 */ |
  • Tool mysqldump secara otomatis menyertakan sintaks kompatibilitas yang diperlukan dalam output-nya. Contoh:

    CREATE TABLE `t1` (c1 int, KEY(c1) GLOBAL) ENGINE=InnoDB PARTITION BY HASH (`c1`) PARTITIONS 4;
    DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci PARTITION BY HASH (`c1`);
    --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 */
    /*!*/;
  • Sintaks kompatibilitas yang diperlukan secara otomatis ditambahkan selama sinkronisasi binary log.

    Contoh ini menunjukkan sinkronisasi binary log dari PolarDB for MySQL 8.0.2.2.0 ke MySQL 8.0.27:

    1. Gunakan Data Transmission Service (DTS) untuk menyinkronkan binary log dari PolarDB for MySQL ke MySQL. Untuk informasi selengkapnya, lihat Synchronize data from PolarDB for MySQL to ApsaraDB RDS for MySQL.

    2. Periksa hasil sinkronisasi binary log pada PolarDB for MySQL 8.0.2.2.0 dan MySQL.

      Hasil di 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)

      Hasil di 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)

      Seperti yang ditunjukkan dalam output, hasil di MySQL tidak mencakup fitur baru dari PolarDB for MySQL.

      Catatan

      Setelah sinkronisasi data dari PolarDB for MySQL ke MySQL, fitur baru yang spesifik untuk PolarDB for MySQL tidak tersedia.

Operasi DDL lainnya

Untuk operasi DDL selain CREATE TABLE, Anda harus secara manual menambahkan komentar kompatibilitas untuk sintaks PolarDB for MySQL. Gunakan format berikut:

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

Contoh:

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 */

Memeriksa versi mesin

Anda dapat memeriksa versi mesin kluster Anda dengan cara berikut:

  • Login ke PolarDB console. Pada halaman Basic Information kluster Anda, lihat Kernel Version.

  • Atau, jalankan perintah show variables like "%polardb_version%"; atau show variables like '%rds_release_date%'; untuk mendapatkan nomor versi.

    Catatan
    • Untuk kluster PolarDB for MySQL 5.6, Anda hanya dapat menggunakan perintah show variables like '%rds_release_date%'; untuk mendapatkan nomor versi.

    • Untuk deskripsi detail mengenai nomor versi mesin PolarDB for MySQL, lihat How engine versions are structured.

Upgrade versi mesin

  • Upgrade versi utama dan versi minor

    • Upgrade versi utama

      Fitur major version upgrade memungkinkan Anda melakukan upgrade, misalnya, dari PolarDB for MySQL 5.6 ke PolarDB for MySQL 8.0.

    • Upgrade versi minor

      PolarDB for MySQL saat ini tidak mendukung upgrade versi minor. Namun, Anda dapat menggunakan DTS untuk melakukan migrasi atau sinkronisasi data dari versi sumber ke kluster versi target guna menyelesaikan upgrade tersebut. Untuk informasi selengkapnya tentang cara melakukan migrasi atau sinkronisasi data, lihat Data migration solutions overview.

  • Upgrade revisi

    Untuk mempelajari cara melakukan upgrade revisi, lihat Upgrade a revision.