All Products
Search
Document Center

PolarDB:Kernel versions 5.6, 5.7, and 8.0

Last Updated:Mar 30, 2026

PolarDB for MySQL uses a three-part version numbering system — Major.Minor.Revision — that delivers performance improvements, security patches, and new features while maintaining full compatibility with a specific community MySQL version. Upgrading to a higher revision or major version does not require application changes.

Version number format

PolarDB version numbers follow the Major.Minor.Revision format. For example, 8.0.1.1.0 breaks down as:

Level Example Meaning
Major 8.0 Broad feature generation. Different major versions have significant feature differences.
Minor 8.0.1 Feature release within a major version. Selected when creating a cluster.
Revision 8.0.1.1.0 Patch release within a minor version. Contains performance optimizations, security patches, and bug fixes.
Version number breakdown

MySQL compatibility

Supported major versions

PolarDB engine version Compatible MySQL version
8.0.2 MySQL 8.0.18 and earlier
8.0.1 MySQL 8.0.13 and earlier
5.7 MySQL 5.7.28 and earlier
5.6 MySQL 5.6.16 and earlier

Standards and protocols

Standard Support
SQL ANSI/ISO SQL. Set the sql_mode parameter to ANSI to enable. See Configure cluster and node parameters.
ODBC Open Database Connectivity (ODBC) versions 0 to 3.51.
JSON Native JSON data type per RFC 7159 and ECMA-262. Supported in versions 5.7 and 8.0.
XML W3C and XPath standard XML functions.

How PolarDB handles new syntax

PolarDB includes features not available in standard MySQL, such as GLOBAL indexes. To prevent these from breaking downstream replication tools like mysqldump or binlog synchronization, PolarDB automatically wraps new or modified SQL syntax in versioned comments.

The comment format is:

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

Examples

Example 1: SHOW CREATE TABLE

When you create a table with a GLOBAL index, SHOW CREATE TABLE wraps the keyword in a versioned comment:

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;

Result:

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

Example 2: mysqldump

mysqldump preserves versioned comments in its output. When the dump is imported into standard MySQL, MySQL silently ignores the PolarDB-specific syntax.

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 */
/*!*/;
......

Example 3: Binary log synchronization

This example synchronizes binary logs from PolarDB for MySQL 8.0.2.2.0 to MySQL 8.0.27.

  1. Use Data Transmission Service (DTS) to synchronize binary logs from PolarDB for MySQL 8.0.2.2.0 to MySQL 8.0.27. For details, see From a PolarDB for MySQL cluster to an ApsaraDB RDS for MySQL instance.

  2. View the binary log synchronization result on both systems. Sample result on PolarDB for MySQL 8.0.2.2.0: PolarDB binlog result Sample result on MySQL 8.0.27: MySQL PolarDB-specific features do not appear in the MySQL result.

After synchronization, PolarDB-specific features (such as GLOBAL indexes) are no longer available on the MySQL side.

Manually adding versioned comments for other DDL statements

SHOW CREATE TABLE and mysqldump add versioned comments automatically for CREATE TABLE statements. For other DDL statements, add the comment manually:

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

Check your engine version

From the console:

  1. Log on to the PolarDB console.

  2. On the Basic Information page of your cluster, check the Kernel Version value.

Console Basic Information page showing Kernel Version

From SQL:

Connect to your cluster and run:

show variables like '%polardb_version%';
For version 5.6, use show variables like '%rds_release_date%'; instead.

Upgrade engine versions

Each version level has a different upgrade path:

Version level Upgrade path
Revision Upgrade in place. See Upgrade revision versions.
Minor Cannot upgrade in place. Create a new cluster and migrate data using DTS. For example: 8.0.1.x → *(new cluster + DTS)* → 8.0.2.x
Major See Upgrade the engine version. For example: 5.78.0

Release notes

For a full list of new features, enhancements, and bug fixes for each version: