Compatibilidade de recursos do MySQL no Amazon RDS - Amazon Relational Database Service

Compatibilidade de recursos do MySQL no Amazon RDS

O RDS para MySQL é compatível com a maioria dos recursos do MySQL. Alguns recursos podem ter suporte limitado ou privilégios restritos.

Você pode filtrar novos recursos do Amazon RDS na página What's New with Database? (Novidades sobre bancos de dados). Em Products (Produtos), escolha Amazon RDS. Em seguida, pesquise usando palavras-chave como MySQL 2022.

nota

As listas a seguir não são completas.

Suporte aos mecanismos de armazenamento no RDS para MySQL

Embora o MySQL ofereça suporte a vários mecanismos de armazenamento com recursos variados, nem todos eles são otimizados para durabilidade e recuperação de dados. O Amazon RDS oferece suporte total ao mecanismo de armazenamento do InnoDB para instâncias de banco de dados do MySQL. Os recursos de restauração point-in-time e de snapshot do Amazon RDS exigem um mecanismo de armazenamento recuperável e são compatíveis somente com o mecanismo de armazenamento do InnoDB. Para obter mais informações, consulteSuporte a memcached MySQL

O Federated Storage Engine atualmente não é compatível com o Amazon RDS para MySQL.

Para esquemas criados pelo usuário, o mecanismo de armazenamento MyISAM não oferece suporte para recuperação confiável e pode resultar em dados perdidos ou corrompidos quando o MySQL é reiniciado após uma recuperação, impedindo que uma restauração pontual ou uma restauração de snapshot funcione conforme pretendido. No entanto, se você ainda optar por usar o MyISAM com o Amazon RDS, snapshots podem ser úteis em algumas condições.

nota

As tabelas do sistema no esquema mysql podem estar no armazenamento MyISAM.

Se você deseja converter tabelas do MyISAM em tabelas do InnoDB, pode usar o comando ALTER TABLE (por exemplo, alter table TABLE_NAME engine=innodb;). Lembre-se de que o MyISAM e o InnoDB têm pontos fortes e fracos diferentes. Portanto, é necessário que você avalie totalmente o impacto que essas alterações terão em seus aplicativos antes de fazê-las.

Os MySQL 5.1, 5.5 e 5.6 não são mais compatíveis com o Amazon RDS. No entanto, é possível restaurar snapshots do MySQL 5.1, 5.5 e 5.6 existentes. Ao restaurar um snapshot do MySQL 5.1, 5.5 ou 5.6, a instância de banco de dados é automaticamente atualizada para o MySQL 5.7.

Usar memcached e outras opções com o MySQL no Amazon RDS

A maioria dos mecanismos de banco de dados do Amazon RDS oferece suporte a grupos de opções que permitem selecionar recursos adicionais para a sua instância de banco de dados. As instâncias de banco de dados do RDS para MySQL são compatíveis com a opção memcached, um cache simples baseado em chaves. Para obter mais informações sobre memcached e outras opções, consulte Opções para instâncias de bancos de dados MySQL. Para mais informações sobre como trabalhar com grupos de opções, consulte Trabalhar com grupos de opções.

Aquecimento de cache do InnoDB para o MySQL no Amazon RDS

O aquecimento de cache do InnoDB pode fornecer ganhos de performance para sua instância de banco de dados do MySQL salvando o estado atual do grupo de buffer quando a instância de banco de dados é desativada e, em seguida, recarregando o grupo de buffer a partir das informações salvas quando a instância do banco de dados for iniciada. Isso dispensa a necessidade de o grupo de buffer "aquecer" do uso normal de banco de dados e, em vez disso, pré-carrega o grupo de buffer com as páginas para consultas comuns conhecidas. O arquivo que armazena as informações do pool de buffer salvo armazena apenas os metadados para as páginas que estão no pool de buffer, e não as páginas propriamente ditas. Como resultado, o arquivo não requer muito espaço de armazenamento. O tamanho do arquivo é de aproximadamente 0,2 por cento do tamanho do cache. Por exemplo, para um cache de 64 GiB, o tamanho do arquivo de aquecimento do cache é de 128 MiB. Para obter mais informações sobre o aquecimento de cache do InnoDB, consulte Saving and restoring the buffer pool state na documentação do MySQL.

As instâncias de banco de dados do RDS para MySQL são compatíveis com o aquecimento de cache InnoDB. Para habilitar o aquecimento de cache do InnoDB, defina os parâmetros innodb_buffer_pool_dump_at_shutdown e innodb_buffer_pool_load_at_startup como 1 no grupo de parâmetros da sua instância de banco de dados. Mudar esses valores de parâmetro em um grupo de parâmetros afetará todas as instâncias de banco de dados MySQL que usam esse grupo de parâmetros. Para habilitar o aquecimento de cache do InnoDB para instâncias específicas de banco de dados MySQL, talvez você precise criar um grupo de parâmetros nessas instâncias. Para obter informações sobre grupos de parâmetros, consulte Trabalhar com grupos de parâmetros.

O aquecimento de cache do InnoDB fornece principalmente um benefício de performance para instâncias de banco de dados que usam armazenamento padrão. Se você usar o armazenamento PIOPS, não perceberá um benefício significativo de performance normalmente.

Importante

Se sua instância de banco de dados MySQL não for encerrada normalmente, como durante um failover, o estado do pool de buffers não será salvo no disco. Nesse caso, o MySQL carrega qualquer arquivo de grupo de buffer disponível quando a instância de banco de dados for reiniciada. Não há problema, mas o grupo de buffer restaurado pode não refletir o estado mais recente do grupo de buffer antes do reinício. Para garantir que você tenha um estado recente do grupo de buffer disponível para aquecer o cache do InnoDB na inicialização, recomendamos que você descarte periodicamente o grupo de buffer "sob demanda".

Você pode criar um evento para descartar o grupo de buffer automaticamente e em um intervalo regular. Por exemplo, a seguinte declaração cria um evento chamado periodic_buffer_pool_dump que descarta o grupo de buffer de hora em hora.

CREATE EVENT periodic_buffer_pool_dump ON SCHEDULE EVERY 1 HOUR DO CALL mysql.rds_innodb_buffer_pool_dump_now();

Para obter mais informações sobre eventos do MySQL, consulte Event syntax na documentação do MySQL.

Como descartar e carregar o grupo de buffer sob demanda

É possível salvar e carregar o cache InnoDB “sob demanda”.

Recursos do MySQL sem suporte pelo Amazon RDS

Atualmente, o Amazon RDS não oferece suporte aos seguintes recursos do MySQL:

  • Plugin de autenticação

  • Registro de erros no log do sistema

  • Criptografia de espaço de tabela do InnoDB

  • Plugin de intensidade da senha

  • Variáveis de sistema mantidas

  • Plugin de regravação de consulta de regravador

  • Replicação semissíncrona

  • Espaço de tabela transportável

  • Plug-in X

nota

IDs de transação globais são compatíveis com todas as versões 5.7 do RDS para MySQL e com o RDS para MySQL 8.0.26 e versões 8.0 posteriores.

Para oferecer uma experiência de serviço gerenciada, o Amazon RDS não fornece acesso ao shell para as instâncias de banco de dados. Ele também restringe o acesso a determinados procedimentos e tabelas do sistema que exigem privilégios avançados. O Amazon RDS oferece suporte a acesso a bancos de dados em uma instância de banco de dados que usa qualquer aplicação de cliente SQL padrão. O Amazon RDS não permite o acesso direto do host a uma instância de banco de dados usando Telnet, Secure Shell (SSH) ou Windows Remote Desktop Connection. Ao criar uma instância de banco de dados, você recebe a função db_owner para todos os bancos de dados nessa instância e tem todas as permissões em nível de banco de dados, exceto aquelas usadas para backups. O Amazon RDS gerencia backups para você.