Todos os produtos
Search
Central de documentação

PolarDB:Versões do mecanismo 5,6, 5,7 e 8,0

Última atualização: Jun 28, 2026

O mecanismo de banco de dados é o componente central de um banco de dados. O PolarDB for MySQL oferece três versões principais do mecanismo: 5,6, 5,7 e 8,0.

A figura a seguir mostra a posição do mecanismo de banco de dados do PolarDB for MySQL na arquitetura do PolarDB for MySQL.1

Estrutura da versão do mecanismo

O número de versão do mecanismo do PolarDB for MySQL é composto por uma versão principal, uma versão secundária e uma revisão. A figura a seguir ilustra essa estrutura usando o PolarDB for MySQL 8.0 como exemplo:Explicação do número da versão

A versão principal é o identificador primário de uma versão do mecanismo do PolarDB for MySQL. Geralmente, uma versão principal inclui uma ou mais versões secundárias. Por exemplo, a versão principal 5.6 contém apenas a versão secundária 5.6.16, enquanto a versão principal 8.0 inclui tanto a 8.0.1 quanto a 8.0.2. Diferentes versões secundárias podem apresentar variações significativas de recursos. Selecione a versão secundária que melhor atenda aos seus requisitos de negócios antes de adquirir um cluster. Uma versão secundária também pode ter múltiplas revisões. As revisões introduzem otimizações, melhorias ou novos recursos. Tanto as versões secundárias quanto as revisões incluem aprimoramentos de segurança e desempenho.

Nota

As versões do mecanismo do PolarDB for MySQL são compatíveis com versões anteriores. Versões principais mais recentes incluem todos os recursos das anteriores; portanto, não é necessário modifique suas aplicações após uma atualização. Para obter mais informações sobre como atualizar a versão do seu mecanismo, consulte Atualizar uma versão do mecanismo.

Notas de versão

Cada versão do mecanismo possui notas de versão que listam seus novos recursos, aprimoramentos e correções de bugs. Para obter mais informações, consulte os seguintes tópicos:

Compatibilidade da versão do mecanismo

O mecanismo do PolarDB for MySQL é compatível com o seguinte:

  • Padrão SQL ANSI/ISO. O PolarDB for MySQL permite alterar o modo de compatibilidade SQL para ANSI. Para isso, defina o parâmetro de cluster sql_mode como ANSI. Para saber como modifique parâmetros de cluster, consulte Definir parâmetros de cluster e de nó.

  • ODBC nas versões 0 a 3,51.

  • Recursos XML que seguem os padrões W3C e XPath.

  • O PolarDB for MySQL 5.7 e 8.0 suportam o tipo de dados JSON nativo conforme definido pela RFC 7159 e ECMA-262.

A tabela a seguir mostra a compatibilidade das versões do mecanismo do PolarDB for MySQL com as versões do MySQL Community.

Versão do mecanismo

Versão compatível do MySQL

8.0.2

8.0.18 e anteriores

8.0.1

8.0.13 e anteriores

5.7

5.7.28 e anteriores

5.6

5.6.16 e anteriores

Sintaxe SQL para novos recursos

CREATE TABLE

Para a sintaxe CREATE TABLE, a compatibilidade é garantida automaticamente pela adição de sintaxe específica durante operações como SHOW CREATE TABLE, ao usar a ferramenta mysqldump ou ao sincronizar o log binário. Os exemplos a seguir fornecem mais detalhes:

  • A sintaxe de compatibilidade necessária é incluída automaticamente na saída de SHOW CREATE TABLE. Exemplo:

    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 */ |
  • A ferramenta mysqldump inclui automaticamente a sintaxe de compatibilidade necessária em sua saída. Exemplo:

    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 */
    /*!*/;
  • A sintaxe de compatibilidade necessária é adicionada automaticamente durante a sincronização do log binário.

    Este exemplo mostra a sincronização de log binário do PolarDB for MySQL 8.0.2.2.0 para o MySQL 8.0.27:

    1. Use o Data Transmission Service (DTS) para sincronizar o log binário do PolarDB for MySQL para o MySQL. Para obter mais informações, consulte Sincronizar dados do PolarDB for MySQL para o ApsaraDB RDS for MySQL.

    2. Verifique os resultados da sincronização do log binário no PolarDB for MySQL 8.0.2.2.0 e no MySQL.

      Resultado no 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)

      Resultado no 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)

      Conforme mostrado na saída, o resultado no MySQL não inclui os novos recursos do PolarDB for MySQL.

      Nota

      Após a sincronização de dados do PolarDB for MySQL para o MySQL, os novos recursos específicos do PolarDB for MySQL não estarão disponíveis.

Outras operações DDL

Para operações DDL diferentes de CREATE TABLE, adicione manualmente comentários de compatibilidade para a sintaxe do PolarDB for MySQL. Use o seguinte formato:

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

Exemplo:

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

Verificar a versão do mecanismo

Verifique a versão do mecanismo do seu cluster das seguintes maneiras:

  • Faça login no console do PolarDB. Na página Basic Information do seu cluster, visualize a Kernel Version.

  • Como alternativa, execute o comando show variables like "%polardb_version%"; ou show variables like '%rds_release_date%'; para obter o número da versão.

    Nota
    • Para clusters do PolarDB for MySQL 5.6, use apenas o comando show variables like '%rds_release_date%'; para obter o número da versão.

    • Para uma descrição detalhada do número de versão do mecanismo do PolarDB for MySQL, consulte Estrutura das versões do mecanismo.

Atualização da versão do mecanismo

  • Atualizações de versão principal e secundária

    • Atualização de versão principal

      O recurso de atualização de versão principal permite atualizar, por exemplo, do PolarDB for MySQL 5.6 para o PolarDB for MySQL 8.0.

    • Atualização de versão secundária

      Atualmente, o PolarDB for MySQL não suporta atualizações de versão secundária. No entanto, use o DTS para migrar ou sincronizar dados da versão de source para um cluster da versão de destino e concluir a atualização. Para obter mais informações sobre como migrar ou sincronizar dados, consulte Visão geral das soluções de migração de dados.

  • Atualização de revisão

    Para saber como atualizar uma revisão, consulte Atualizar uma revisão.