Todos os produtos
Search
Central de documentação

ApsaraDB RDS:Check report details of a major engine version upgrade

Última atualização: Jun 26, 2026

Ao executar uma pré-verificação antes de atualizar uma instância do ApsaraDB RDS for MySQL para uma nova versão principal do mecanismo, o sistema valida diversas condições e relata problemas bloqueantes. Esta página explica cada item de verificação, o que é analisado, os motivos da falha e como corrigi-la.

Caso encontre um erro não listado aqui, envie um ticket.

Itens de verificação

A tabela abaixo abrange todos os itens retornados pela pré-verificação. Os caminhos de upgrade compatíveis são MySQL 5.6 → MySQL 5.7 e MySQL 5.7 → MySQL 8.0.

check_ins_major_version

Mensagem de erro: The current engine version does not support this operation.

O que é verificado: Se a versão da instância atende aos pré-requisitos para um upgrade de versão principal do mecanismo.

Causa: A instância não executa o MySQL 5.6 ou MySQL 5.7. Apenas upgrades do MySQL 5.6 para o MySQL 5.7, ou do MySQL 5.7 para o MySQL 8.0, são compatíveis.

Solução: Consulte Pré-requisitos para upgrade de versão principal do mecanismo para verificar os caminhos compatíveis e os requisitos.

check_ins

Mensagem de erro: The specified instance does not exist or is not supported.

O que é verificado: A existência da instância.

Causa: A instância foi excluída ou não existe.

Solução: Verifique se a instância de destino existe antes de executar a pré-verificação.

check_ins_status

Mensagem de erro: The current DB instance state does not support this operation.

O que é verificado: Se a instância está no estado Running.

Causa: Outra operação está em andamento (por exemplo, reinicialização da instância ou criação de conexão de rede) e a instância não se encontra no estado Running.

Solução: Aguarde a conclusão da tarefa atual. Após a instância retornar ao estado Running, inicie a pré-verificação novamente.

check_master_ins

Mensagem de erro: The current DB instance type does not support this operation.

O que é verificado: Se a instância é primária.

Causa: A instância é de recuperação de desastres ou somente leitura, e não uma instância primária.

Solução: Execute a pré-verificação em uma instância primária.

check_ins_locked_state

Mensagem de erro: The current DB instance lock mode does not support this operation.

O que é verificado: Se a instância está bloqueada.

Causa: A instância está no estado Locking.

Solução: Desbloqueie a instância. Depois que o status mudar para Running, execute a pré-verificação novamente. Para mais informações, consulte O que fazer se minha instância estiver no estado Locking?

check_maxscale_kernel

Mensagem de erro: The Maxscale version of the instance is too low. Upgrade the Maxscale version first.

O que é verificado: Se a versão secundária do proxy de banco de dados é compatível.

Causa: A instância utiliza um proxy de banco de dados com versão secundária anterior a 1.13.41.

Solução: Atualize o proxy para uma versão secundária compatível e tente novamente o upgrade da versão principal do mecanismo.

check_ins_tde_state

Mensagem de erro: This instance is not configured with the specified TDE status.

O que é verificado: Se a criptografia transparente de dados (TDE) está ativada.

Causa: O TDE está habilitado na instância.

Solução: Não é possível atualizar instâncias com TDE ativado diretamente pelo console. Para o procedimento alternativo de upgrade, consulte Atualizar a versão do banco de dados.

check_target_ins_level

Mensagem de erro: The current DB instance class does not support this operation. (Error code: InvalidInstanceLevel.Malformed)

O que é verificado: Se o tipo atual da instância está disponível para compra.

Causa: A instância utiliza um tipo de instância descontinuado.

Solução: Altere a instância para um tipo atualmente disponível e tente o upgrade novamente.

check_target_read_level

Mensagem de erro: The read-only instance class is not supported in the target instance.

O que é verificado: Se o tipo da instância somente leitura está disponível para compra.

Causa: A instância somente leitura utiliza um tipo descontinuado. Esta verificação aplica-se a instâncias que usam SSDs locais.

Solução: Altere a instância somente leitura para um tipo disponível e execute a pré-verificação novamente.

check_upgrade_check_task

Mensagem de erro: The task already exists.

O que é verificado: Se já existe uma tarefa de pré-verificação em execução para esta instância.

Causa: Uma pré-verificação de upgrade de versão principal do mecanismo já está em andamento.

Solução: Aguarde a conclusão da pré-verificação. Quando o status da instância mudar para Running, execute a pré-verificação novamente.

check_upgrade_task

Mensagem de erro: The task already exists.

O que é verificado: Se já existe uma tarefa de upgrade de versão principal do mecanismo em execução para esta instância.

Causa: Um upgrade de versão principal do mecanismo já está em andamento.

Solução: Aguarde a conclusão do upgrade. Quando o status da instância mudar para Running, execute a pré-verificação novamente.

check_storage_type

Mensagem de erro: Standard SSDs do not support this operation. Please upgrade to ESSD.

O que é verificado: Se a instância utiliza SSDs padrão.

Causa: A instância utiliza SSDs padrão.

Solução: Atualize o tipo de armazenamento para ESSD (SSD empresarial) e tente o upgrade novamente.

check_source_category

Mensagem de erro: The specified source category is invalid.

O que é verificado: Se a instância pertence à Basic Edition ou High-availability Edition.

Causa: A instância pertence a uma edição diferente.

Solução: As pré-verificações de upgrade de versão principal do mecanismo são compatíveis apenas com instâncias da Basic Edition ou High-availability Edition.

check_ins_biz_type

Mensagem de erro: The specified business type is invalid.

O que é verificado: Se a instância é de nuvem pública.

Causa: A instância não é de nuvem pública.

Solução: As pré-verificações de upgrade de versão principal do mecanismo são compatíveis apenas com instâncias de nuvem pública.

check_ins_tables_number

Mensagem de erro: Upgrade not allowed due to an excessive number of tables: more than 1.000.000.

O que é verificado: O número total de tabelas na instância.

Causa: A instância possui mais de 1.000.000 de tabelas. Esse limite aplica-se tanto a SSDs locais quanto a discos em nuvem.

Solução: Exclua as tabelas redundantes antes de executar a pré-verificação.

check_ins_db_engine

Mensagem de erro: The instance contains tables that use the MyISAM, Memory, TokuDB, Sphinx, or RocksDB engine.

O que é verificado: Se alguma tabela utiliza um mecanismo de armazenamento diferente do InnoDB.

Causa: A instância contém tabelas usando MyISAM, Memory, TokuDB, Sphinx ou RocksDB. Esses mecanismos de armazenamento não são compatíveis com upgrades de versão principal do mecanismo.

Solução: Converta todas as tabelas para InnoDB antes de atualizar. Se o banco de dados já usar InnoDB, mas tabelas individuais utilizarem outros mecanismos, execute o seguinte comando para cada tabela afetada:

ALTER TABLE <table_name> engine=InnoDB;

check_ins_fts

Mensagem de erro: The current instance has a full-text index, and its minor version is earlier than 20221130.

O que é verificado: Se a instância possui índices de texto completo criados no tablespace do sistema.

Causa: Em versões mais antigas do RDS for MySQL 5.6, os índices de texto completo são criados no tablespace do sistema. Durante um upgrade, esses índices podem corromper o tablespace. Esse problema foi corrigido na versão secundária 20221130 do RDS for MySQL 5.6, em que os índices de texto completo são criados em um tablespace separado.

Solução: Antes de atualizar do RDS for MySQL 5.6 para o 5.7, remova quaisquer índices de texto completo do tablespace do sistema.

  1. Certifique-se de que a instância execute a versão secundária 20221130 ou posterior do RDS for MySQL 5.6. Caso contrário, atualize para a versão secundária mais recente do RDS for MySQL 5.6 primeiro.

  2. Remova o índice de texto completo no tablespace do sistema. Utilize o nome da tabela exibido no prompt de erro.

    ALTER TABLE $table_name DROP INDEX $fts_name;
  3. Recrie o índice de texto completo.

    ALTER TABLE $table_name ADD FULLTEXT INDEX $fts_name;
  4. Verifique se não restam índices de texto completo no tablespace do sistema. A consulta a seguir retorna tais índices. Um resultado vazio indica que a pré-verificação não falhará devido a esse problema.

    SELECT NAME FROM information_schema.INNODB_SYS_TABLES WHERE TABLE_ID IN ( SELECT CONV(SUBSTRING_INDEX(SUBSTRING_INDEX(NAME, '_', -4),'_', 1),16,10) FROM INNODB_SYS_TABLES WHERE NAME LIKE '%fts_00000000%' AND SPACE = 0);

check_read_ins_number

Mensagem de erro: The number of read-only instances cannot be greater than 8.

O que é verificado: O número de instâncias somente leitura para instâncias que utilizam SSDs locais.

Causa: A instância possui mais de 8 instâncias somente leitura. Este limite aplica-se apenas a instâncias que usam SSDs locais.

Solução: Libere as instâncias somente leitura excedentes. Após a conclusão do upgrade, recrie-as.

check_slave_state

Mensagem de erro: The secondary node is unhealthy or has replication delays.

O que é verificado: A integridade e a latência de replicação do nó secundário.

Causa: O nó secundário está em estado anormal ou apresenta atraso de replicação.

Solução: No console, verifique as métricas de monitoramento Node Replication Thread Status (seconds) e Node Replication Latency (seconds) em Monitoring and alerts. Aguarde o retorno do nó secundário à normalidade e execute a pré-verificação novamente.

check_account

Mensagem de erro: The instance has an aliyun_root account.

O que é verificado: A existência de uma conta aliyun_root na instância.

Causa: Um usuário criou manualmente uma conta aliyun_root no RDS for MySQL 5.6. A conta aliyun_root é uma conta de sistema padrão no RDS for MySQL 5.7 e posteriores. Se ela já existir na versão 5.6, o upgrade para a 5.7 falhará com um erro de nome duplicado.

Solução: Exclua ou renomeie a conta aliyun_root criada manualmente antes de executar a pré-verificação. Para informações sobre contas de sistema, consulte Contas de sistema.

check_sys_schema

Mensagem de erro: The instance already has a sys database.

O que é verificado: A existência de um banco de dados sys na instância.

Causa: O banco de dados sys é criado por padrão no RDS for MySQL 5.7. Se ele já existir em uma instância 5.6, o upgrade para a 5.7 falhará.

Solução: Renomeie o banco de dados sys existente. Como o MySQL não oferece suporte a RENAME DATABASE, execute ALTER TABLE ... RENAME para cada tabela individualmente.

Para confirmar a existência do banco de dados sys, execute:

SELECT * FROM information_schema.SCHEMATA WHERE SCHEMA_NAME='sys';

check_table_discard

Mensagem de erro: The instance contains discarded tables.

O que é verificado: Se a instância possui tabelas com tablespaces descartados (tabelas nas quais ALTER TABLE ... DISCARD TABLESPACE foi executado).

Causa: Existem tabelas descartadas na instância.

Solução: Consulte e exclua as tabelas descartadas.

SELECT space,name FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESPACES WHERE FS_BLOCK_SIZE=0 AND FILE_SIZE=0 AND name NOT LIKE '%#sql%';

check_table_foreign_key

Mensagem de erro: A partitioned table contains foreign keys.

O que é verificado: Se alguma tabela particionada possui chaves estrangeiras ou se tabelas particionadas são referenciadas por chaves estrangeiras de outras tabelas.

Causa: Uma tabela particionada contém uma chave estrangeira ou a chave estrangeira de outra tabela referencia uma tabela particionada.

Solução: Resolva os conflitos entre chaves estrangeiras e tabelas particionadas.

  1. Consulte as tabelas particionadas que contêm chaves estrangeiras.

    SELECT DISTINCT a.TABLE_SCHEMA, a.TABLE_NAME
    FROM information_schema.TABLE_CONSTRAINTS a, information_schema.PARTITIONS b
    WHERE a.CONSTRAINT_TYPE='FOREIGN KEY'
    AND a.TABLE_SCHEMA = b.TABLE_SCHEMA
    AND a.TABLE_NAME = b.TABLE_NAME
    AND (b.PARTITION_NAME IS NOT NULL OR b.SUBPARTITION_NAME IS NOT NULL);
  2. Consulte as tabelas particionadas referenciadas por chaves estrangeiras de outras tabelas.

    SELECT DISTINCT a.TABLE_SCHEMA, a.TABLE_NAME, a.REFERENCED_TABLE_SCHEMA, a.REFERENCED_TABLE_NAME
    FROM information_schema.KEY_COLUMN_USAGE a, information_schema.PARTITIONS b
    WHERE a.REFERENCED_TABLE_SCHEMA = b.TABLE_SCHEMA
    AND a.REFERENCED_TABLE_NAME = b.TABLE_NAME
    AND (b.PARTITION_NAME IS NOT NULL OR b.SUBPARTITION_NAME IS NOT NULL);

check_column_length

Mensagem de erro: One or more views have a column name with a length of 64 or more characters.

O que é verificado: Se alguma view possui nomes de coluna com 64 caracteres ou mais.

Causa: O MySQL não oferece suporte a nomes de coluna de view com 64 caracteres ou mais.

Solução: Consulte as views afetadas e exclua-as ou reduza os nomes das colunas.

SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME IN (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS) AND CHAR_LENGTH(COLUMN_NAME) >= 64;

check_foreign_key_constraint

Mensagem de erro: One or more tables have a foreign key constraint name with a length greater than 64 characters.

O que é verificado: Se alguma tabela possui nomes de restrição de chave estrangeira com mais de 64 caracteres.

Causa: Nomes de restrição de chave estrangeira com mais de 64 caracteres não são compatíveis.

Solução: Consulte as tabelas afetadas e exclua ou renomeie as restrições de chave estrangeira.

SELECT TABLE_SCHEMA, TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME IN (SELECT LEFT(SUBSTR(ID,INSTR(ID,'/')+1),INSTR(SUBSTR(ID,INSTR(ID,'/')+1),'_ibfk_')-1) FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN WHERE CHAR_LENGTH(SUBSTR(ID,INSTR(ID,'/')+1))>64);

check_dictionary_table

Mensagem de erro: The MySQL 5.7 system database contains tables with names that conflict with the MySQL 8.0 data dictionary.

O que é verificado: Se alguma tabela no banco de dados de sistema do MySQL 5.7 compartilha nomes com tabelas usadas pelo dicionário de dados do MySQL 8.0.

Causa: Uma ou mais tabelas no banco de dados de sistema do MySQL 5.7 possuem nomes que entram em conflito com o dicionário de dados do MySQL 8.0.

Solução: Consulte os nomes de tabela conflitantes e exclua-os ou renomeie-os.

SELECT TABLE_SCHEMA, TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE LOWER(
TABLE_SCHEMA) = 'mysql' and LOWER(TABLE_NAME) IN
('catalogs', 'character_sets', 'check_constraints', 'collations',
'column_statistics', 'column_type_elements', 'columns',
'dd_properties', 'events', 'foreign_key_column_usage', 'foreign_keys',
'index_column_usage', 'index_partitions', 'index_stats',
'indexes', 'parameter_type_elements', 'parameters', 'resource_groups', 'routines',
'schemata', 'st_spatial_reference_systems',
'table_partition_values', 'table_partitions', 'table_stats', 'tables',
'tablespace_files', 'tablespaces', 'triggers', 'view_routine_usage',
'view_table_usage');

check_ins_health

Mensagem de erro: The primary node of the instance is not available.

O que é verificado: Conectividade e disponibilidade da instância.

Causa: Recursos como CPU ou disco estão totalmente utilizados, tornando o nó primário indisponível.

Solução: No console, utilize o recurso de Monitoramento e alertas para verificar se todas as métricas de monitoramento estão dentro dos intervalos normais.

check_table_index_type

Mensagem de erro: MySQL 8.0 does not support BTREE indexes on spatial data types.

O que é verificado: Se alguma tabela no MySQL 5.7 possui índices BTREE em colunas de tipos de dados espaciais. Esta verificação aplica-se apenas a upgrades para o MySQL 8.0.

Causa: O MySQL 8.0 não oferece suporte a índices BTREE em tipos de dados espaciais (GEOMETRY, POINT, LINESTRING, POLYGON, MULTIPOINT, MULTILINESTRING, MULTIPOLYGON, GEOMETRYCOLLECTION).

Solução: Consulte os índices afetados e exclua-os ou modifique-os.

SELECT DISTINCT s.* FROM INFORMATION_SCHEMA.STATISTICS s
INNER JOIN INFORMATION_SCHEMA.COLUMNS c
ON s.TABLE_SCHEMA = c.TABLE_SCHEMA
AND s.TABLE_NAME = c.TABLE_NAME
AND s.COLUMN_NAME = c.COLUMN_NAME
WHERE s.TABLE_SCHEMA NOT IN ('mysql', 'sys')
AND c.DATA_TYPE IN ('GEOMETRY', 'POINT', 'LINESTRING', 'POLYGON', 'MULTIPOINT',
'MULTILINESTRING', 'MULTIPOLYGON', 'GEOMETRYCOLLECTION')
AND s.INDEX_TYPE = 'BTREE';