Atualizar o mecanismo de banco de dados MariaDB - Amazon Relational Database Service

Atualizar o mecanismo de banco de dados MariaDB

Quando o Amazon RDS oferece suporte a uma nova versão de um mecanismo de banco de dados, você pode atualizar suas instâncias de banco de dados para essa nova versão. Há dois tipos de atualizações para instâncias de banco de dados MariaDB: atualizações de versão principal e atualizações de versão secundária.

As atualizações da versão principal podem conter as alterações de banco de dados incompatíveis com os aplicativos existentes. Como resultado, você deve realizar manualmente as atualizações de versões principais das suas instâncias de banco de dados. Você pode iniciar uma atualização de versão principal modificando manualmente sua instância de banco de dados. No entanto, antes de realizar uma atualização de versão principal, recomendamos seguir as instruções descritas em Atualizações da versão principal para MariaDB.

Por outro lado, atualizações de versões secundárias incluem apenas alterações compatíveis com versões anteriores dos aplicativos existentes. Você pode iniciar uma atualização de versão secundária manualmente modificando sua instância de banco de dados. Ou é possível habilitar a opção Auto minor version upgrade (Atualização automática da versões secundárias) ao criar ou modificar uma instância de banco de dados. Isso significa que sua instância de banco de dados será atualizada automaticamente depois que o Amazon RDS testar e aprovar a nova versão. Para obter informações sobre como realizar uma atualização, consulte Atualizar a versão de mecanismo de uma instância de banco de dados.

Se a instância de banco de dados MariaDB estiver usando réplicas de leitura, atualize todas as réplicas de leitura antes de atualizar a instância de origem. Se a instância de banco de dados estiver em uma implantação multi-AZ, as réplicas do gravador e em espera serão atualizadas. A instância de banco de dados pode não estar disponível até que a atualização seja concluída.

Para obter mais informações sobre as versões do MariaDB com suporte e o gerenciamento de versões, consulte MariaDB em versões do Amazon RDS.

As atualizações do mecanismo de banco de dados necessitam de tempo de inatividade. A duração do tempo de inatividade varia de acordo com o tamanho de sua instância de banco de dados.

dica

Você pode minimizar o tempo de inatividade necessário para a atualização da instância de banco de dados utilizando uma implantação azul/verde. Para ter mais informações, consulte Usar implantações azul/verde do Amazon RDS para atualizações de banco de dados.

Visão geral da atualização

Ao usar o AWS Management Console para atualizar uma instância de banco de dados, ele exibe os destinos de atualização válidos para a instância de banco de dados. Também é possível usar o seguinte comando da AWS CLI para identificar os destinos de atualizações válidos para uma instância de banco de dados:

Para Linux, macOS ou Unix:

aws rds describe-db-engine-versions \ --engine mariadb \ --engine-version version-number \ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text

Para Windows:

aws rds describe-db-engine-versions ^ --engine mariadb ^ --engine-version version-number ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text

Por exemplo, para identificar os destinos de atualização válidos de uma instância de banco de dados do MariaDB versão 10.5.17, execute o seguinte comando da AWS CLI:

Para Linux, macOS ou Unix:

aws rds describe-db-engine-versions \ --engine mariadb \ --engine-version 10.5.17 \ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text

Para Windows:

aws rds describe-db-engine-versions ^ --engine mariadb ^ --engine-version 10.5.17 ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text

O Amazon RDS usa dois ou mais snapshots de banco de dados durante o processo de upgrade. O Amazon RDS gera até dois snapshots da instância de banco de dados antes de fazer qualquer alteração de upgrade. Se o upgrade não funcionar para seus bancos de dados, você poderá restaurar um desses snapshots para criar uma instância de banco de dados executando a versão antiga. O Amazon RDS gera outro snapshot da instância de banco de dados quando o upgrade é concluído. O Amazon RDS obtém esses snapshots independentemente de o AWS Backup gerenciar ou não os backups da instância de banco de dados.

nota

O Amazon RDS só tirará snapshot de banco de dadoss se você tiver definido o período de retenção de backup para sua instância de banco de dados como um número maior que 0. Para alterar o período de retenção de backup, consulte Modificar uma instância de banco de dados do Amazon RDS.

Após a conclusão da atualização, você não pode reverter para a versão anterior do mecanismo de banco de dados. Se quiser retornar à versão anterior, restaure o primeiro DB snapshot tirado para criar outra instância de banco de dados.

Você controla quando atualizar sua instância do banco de dados para uma nova versão compatível com o Amazon RDS. Esse nível de controle ajuda você a manter a compatibilidade com versões específicas de banco de dados e testar novas versões com seu aplicativo antes de implantá-lo na produção. Quando você estiver pronto, poderá executar as atualizações de versão quando achar melhor.

Se sua instância de banco de dados estiver usando uma replicação de leitura, atualize todas as réplicas de leitura antes de atualizar a instância de origem.

Se a sua instância de banco de dados estiver em uma implantação multi-AZ, as instâncias de banco de dados principal e em espera serão atualizadas. As instâncias de bancos de dados primária e de espera são atualizadas ao mesmo tempo, e há uma interrupção no serviço até a atualização ser concluída. O tempo para a interrupção varia de acordo com o mecanismo de banco de dados, a versão do mecanismo e o tamanho da instância de banco de dados.

Números de versão do MariaDB

A sequência de numeração de versões do mecanismo de banco de dados do RDS para MariaDB está no formato major.minor.patch.YYYYMMDD or major.minor.patch, por exemplo, 10.11.5.R2.20231201 ou 10.4.30. O formato usado depende da versão do mecanismo do MariaDB.

principal

O número da versão principal é o número inteiro e a primeira parte fracionária do número da versão, por exemplo, 10.11. Uma atualização de versão principal aumenta a parte principal do número da versão. Por exemplo, uma atualização de 10.5.20 para 10.6.12 é uma atualização de versão principal, em que 10.5 e 10.6 são os números da versão principal.

secundária

O número da versão secundária é a terceira parte do número da versão, por exemplo, 5 em 10.11.5.

patch

O patch é a quarta parte do número da versão, por exemplo, o R2 em 10.11.5.R2. Uma versão do patch do RDS inclui correções de bugs importantes adicionadas a uma versão secundária após o lançamento.

YYYYMMDD

O patch é a quinta parte do número da versão, por exemplo, 20231201 em 10.11.5.R2.20231201. Uma versão da data do RDS é um patch de segurança que inclui correções de segurança importantes adicionadas a uma versão secundária após o lançamento. Ela não inclui nenhuma correção que possa mudar o comportamento de um mecanismo.

Versão principal Versão secundária Esquema da nomenclatura
10.11 ≥ 5 Novas instâncias de banco de dados usam major.minor.patch.YYMMDD, por exemplo, 10.11.5.R2.20231201.

As instâncias de banco de dados existentes podem usar major.minor.patch, por exemplo, 10.11.5.R2, até a próxima atualização de versão principal ou secundária.

< 5 As instâncias de banco de dados existentes usam major.minor.patch, por exemplo, 10.11.4.R2.
10.6 ≥ 14 Novas instâncias de banco de dados usam major.minor.patch.YYMMDD, por exemplo, 10.6.14.R2.20231201.

As instâncias de banco de dados existentes podem usar major.minor.patch, por exemplo, 10.6.14.R2, até a próxima atualização de versão principal ou secundária.

< 14 As instâncias de banco de dados existentes usam major.minor.patch, por exemplo, 10.6.13.R2.
10.5 ≥ 21 Novas instâncias de banco de dados usam major.minor.patch.YYMMDD, por exemplo, 10.5.21.R2.20231201.

As instâncias de banco de dados existentes podem usar major.minor.patch, por exemplo, 10.5.21.R2, até a próxima atualização de versão principal ou secundária.

< 21 As instâncias de banco de dados existentes usam major.minor.patch, por exemplo, 10.5.20.R2.
10.4 ≥ 30 Novas instâncias de banco de dados usam major.minor.patch.YYMMDD, por exemplo, 10.4.30.R2.20231201.

As instâncias de banco de dados existentes podem usar major.minor.patch, por exemplo, 10.4.30.R2, até a próxima atualização de versão principal ou secundária.

< 30 As instâncias de banco de dados existentes usam major.minor.patch, por exemplo, 10.4.29.R2.

Número da versão do RDS

Os números de versão do RDS usam o esquema de nomenclatura major.minor.patch ou major.minor.patch.YYYYMMDD. Uma versão do patch do RDS inclui correções de bugs importantes adicionadas a uma versão secundária após o lançamento. Uma versão de data do RDS (YYMMDD) é um patch de segurança. Um patch de segurança não inclui nenhuma correção que possa mudar o comportamento do mecanismo.

Para identificar o número da versão do Amazon RDS do banco de dados, você deve primeiro criar a extensão rds_tools usando o seguinte comando:

CREATE EXTENSION rds_tools;

É possível descobrir o número da versão do banco de dados do RDS para MariaDB com a seguinte consulta SQL:

mysql> select mysql.rds_version();

Por exemplo, consultar um banco de dados do RDS para MariaDB 10.6.14 exibe a seguinte saída:

+---------------------+ | mysql.rds_version() | +---------------------+ | 10.6.14.R2.20231201 | +---------------------+ 1 row in set (0.01 sec)

Atualizações da versão principal para MariaDB

As atualizações da versão principal podem conter as alterações de banco de dados incompatíveis com os aplicativos existentes. Como resultado, o Amazon RDS não aplica atualizações da versão principal automaticamente. É necessário modificar manualmente sua instância de banco de dados. Convém testar completamente qualquer atualização antes de aplicá-la às suas instâncias de produção.

O Amazon RDS oferece suporte para as seguintes atualizações in-loco para versões principais do mecanismo de banco de dados MariaDB:

  • Qualquer versão do MariaDB para MariaDB 10.11

  • Qualquer versão do MariaDB para MariaDB 10.6

  • MariaDB 10.4 para MariaDB 10.5

  • MariaDB 10.3 para MariaDB 10.4

Para atualizar a versão principal para uma versão do MariaDB inferior à 10.6, atualize para cada versão principal em sequência. Por exemplo, para atualizar da versão 10.3 para a versão 10.5, atualize na seguinte ordem: 10.3 para 10.4, depois 10.4 para 10.5.

Se você estiver usando um parameter group personalizado e realizar uma atualização para uma versão principal, deverá especificar um parameter group padrão para a nova versão do mecanismo de banco de dados ou criar seu próprio parameter group personalizado para essa nova versão. Associar o novo parameter group à instância de banco de dados requer que o banco de dados seja reinicializado pelo cliente depois que a atualização terminar. O status do parameter group da instância será pending-reboot se a instância precisar ser reinicializada para aplicar as alterações do parameter group. O status do grupo de parâmetros de uma instância pode ser visualizado no AWS Management Console ou com uma chamada “describe”, como describe-db-instances.

Atualizar uma instância de banco de dados MariaDB

Para obter informações sobre como atualizar manual ou automaticamente uma instância de banco de dados MariaDB, consulte Atualizar a versão de mecanismo de uma instância de banco de dados.

Atualizações da versão secundária automáticas para o MariaDB

Se você especificar as seguintes configurações ao criar ou modificar uma instância de banco de dados, poderá fazer com que sua instância de banco de dados seja atualizada automaticamente.

  • A configuração Auto minor version upgrade (Atualização automática de versão secundária) está habilitada.

  • A configuração Backup retention period (Período de retenção de backup) é maior que 0.

No AWS Management Console, essas configurações estão em Additional configuration (Configuração adicional). A imagem a seguir mostra a configuração Auto minor version upgrade (Atualização automática para versão secundária).


                Auto minor version upgrade (Atualização automática para versão secundária)

Para ter mais informações sobre essas configurações, consulte Configurações para instâncias de banco de dados.

Para algumas versões principais do RDS para MariaDB em algumas Regiões da AWS, uma versão secundária é designada pelo RDS como a versão de atualização automática. Depois que uma versão secundária foi testada e aprovada pelo Amazon RDS, a atualização de versão secundária ocorre automaticamente durante a janela de manutenção. O RDS não define automaticamente versões secundárias lançadas mais recentemente como a versão de atualização automática. Antes de o RDS designar uma versão de atualização automática, diversos critérios são considerados, como estes:

  • Problemas de segurança conhecidos

  • Bugs no MariaDB edição da comunidade

  • Estabilidade geral de frota desde que a versão secundária foi lançada.

nota

O suporte para o uso do TLS nas versões 1.0 e 1.1 foi removido a partir de versões secundárias específicas do MariaDB. Consulte informações sobre as versões secundárias compatíveis do MariaDB em Usar o SSL/TLS com uma instância de banco de dados do MariaDB.

É possível utilizar o comando da AWS CLI a seguir para determinar a versão atual secundária de destino de atualização automática para uma versão secundária do MariaDB especificada em uma Região da AWS específica.

Para Linux, macOS ou Unix:

aws rds describe-db-engine-versions \ --engine mariadb \ --engine-version minor-version \ --region region \ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{AutoUpgrade:AutoUpgrade,EngineVersion:EngineVersion}" \ --output text

Para Windows:

aws rds describe-db-engine-versions ^ --engine mariadb ^ --engine-version minor-version ^ --region region ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{AutoUpgrade:AutoUpgrade,EngineVersion:EngineVersion}" ^ --output text

Por exemplo, o seguinte comando da AWS CLI determina o destino da atualização secundária automática para a versão secundária 10.5.16 do MariaDB na Região da AWS Leste dos EUA (Ohio) (us-east-2).

Para Linux, macOS ou Unix:

aws rds describe-db-engine-versions \ --engine mariadb \ --engine-version 10.5.16 \ --region us-east-2 \ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{AutoUpgrade:AutoUpgrade,EngineVersion:EngineVersion}" \ --output table

Para Windows:

aws rds describe-db-engine-versions ^ --engine mariadb ^ --engine-version 10.5.16 ^ --region us-east-2 ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{AutoUpgrade:AutoUpgrade,EngineVersion:EngineVersion}" ^ --output table

A saída é semelhante à seguinte.

---------------------------------- | DescribeDBEngineVersions | +--------------+-----------------+ | AutoUpgrade | EngineVersion | +--------------+-----------------+ | True | 10.5.17 | | False | 10.5.18 | | False | 10.5.19 | | False | 10.6.5 | | False | 10.6.7 | | False | 10.6.8 | | False | 10.6.10 | | False | 10.6.11 | | False | 10.6.12 | +--------------+-----------------+

Neste exemplo, o valor de AutoUpgrade é True para MariaDB versão 10.5.17. Então, o destino da atualização secundária automática é MariaDB versão 10.5.17, que está destacado na saída.

Uma instância de banco de dados MariaDB é atualizada automaticamente durante a janela de manutenção, caso os seguintes critérios sejam atendidos:

  • A configuração Auto minor version upgrade (Atualização automática de versão secundária) está habilitada.

  • A configuração Backup retention period (Período de retenção de backup) é maior que 0.

  • A instância de banco de dados está executando uma versão de mecanismo de banco de dados secundária que é menor que a versão secundária de atualização automática.

Para ter mais informações, consulte Atualizar automaticamente a versão do mecanismo espelho.

Usar uma réplica de leitura para reduzir o tempo de inatividade ao atualizar um banco de dados MariaDB

Na maioria dos casos, uma implantação azul/verde é a melhor opção para reduzir o tempo de inatividade ao atualizar uma instância de banco de dados MariaDB. Para ter mais informações, consulte Usar implantações azul/verde do Amazon RDS para atualizações de banco de dados.

Se não for possível usar uma implantação azul/verde e se sua instância de banco de dados MariaDB estiver em uso com uma aplicação de produção, você poderá usar o procedimento a seguir para atualizar a versão de banco de dados da sua instância de banco de dados. Esse procedimento pode reduzir o tempo de inatividade do seu aplicativo.

Usando uma réplica de leitura, você pode executar a maioria das etapas de manutenção antes do tempo e minimizar as alterações necessárias durante a interrupção real. Com essa técnica, você pode testar e preparar a nova instância de banco de dados sem fazer alterações em sua instância de banco de dados existente.

O procedimento a seguir mostra um exemplo de atualização do MariaDB versão 10.5 para o MariaDB versão 10.6. Você pode usar as mesmas etapas gerais nas atualizações para outras versões principais.

Como atualizar um banco de dados MariaDB enquanto uma instância de banco de dados está em uso
  1. Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. Crie uma réplica de leitura de sua instância de banco de dados do MariaDB 10.5. Esse processo cria uma cópia atualizável do seu banco de dados. Outras réplicas de leitura da instância de banco de dados também podem existir.

    1. No console, escolha Databases (Bancos de dados) e depois escolha a instância de banco de dados que você deseja atualizar.

    2. Em Actions (Ações), escolha Create read replica (Criar réplica de leitura).

    3. Forneça o valor do DB instance identifier (Identificador de instância de banco de dados) para a réplica de leitura e verifique se a DB instance class (Classe da instância de banco de dados) e as outras configurações correspondem à instância de banco de dados MariaDB 10.5.

    4. Escolha Create read replica (Criar réplica de leitura).

  3. (Opcional) Quando a réplica de leitura for criada e Status for exibida Available (Disponível), converta a réplica de leitura em uma implantação multi-AZ e ative backups.

    Por padrão, uma réplica de leitura é criada como uma implantação single-AZ com backups desativados. Como a réplica de leitura se torna a instância de banco de dados de produção, uma prática recomendada é configurar uma implantação multi-AZ e habilitar backups agora.

    1. No console, selecione Databases (Bancos de dados) e a réplica de leitura que você acabou de criar.

    2. Selecione Modify.

    3. Para Multi-AZ deployment (Implantação multi-AZ), escolha Create a standby instance (Criar uma instância em espera).

    4. Em Backup Retention Period (Período de retenção de backup), escolha um valor positivo diferente de zero, como 3 dias, depois selecione Continue (Continuar).

    5. Em Scheduling of modifications (Programação de modificações), selecione Apply immediately (Aplicar imediatamente).

    6. Selecione Modify DB instance (Modificar instância de banco de dados).

  4. Quando o Status da réplica de leitura mostrar Available (Disponível), atualize a réplica de leitura para o MariaDB 10.6.

    1. No console, selecione Databases (Bancos de dados) e a réplica de leitura que você acabou de criar.

    2. Selecione Modify.

    3. Em DB engine version (Versão do mecanismo de banco de dados), selecione a versão do MariaDB 10.6 para a qual deseja atualizar, depois escolha Continue (Continuar).

    4. Em Scheduling of modifications (Programação de modificações), selecione Apply immediately (Aplicar imediatamente).

    5. Selecione Modify DB instance (Modificar instância de banco de dados) para iniciar a atualização.

  5. Quando a atualização for concluída e o Status mostrar Available (Disponível), verifique se a réplica de leitura está atualizada em relação à instância de banco de dados MariaDB 10.5 de origem. Para verificar, conecte-se à réplica de leitura e execute o comando SHOW REPLICA STATUS. Se o campo Seconds_Behind_Master for 0, a replicação está atualizada.

    nota

    Versões anteriores do MariaDB usavam SHOW SLAVE STATUS em vez de SHOW REPLICA STATUS. Se você estiver usando uma versão do MariaDB anterior à 10.6, use SHOW SLAVE STATUS.

  6. (Opcional) Crie uma réplica de leitura da réplica de leitura.

    Se você quiser que a instância de banco de dados tenha uma réplica de leitura depois que ela for promovida para uma instância de banco de dados autônoma, você pode criar a réplica de leitura agora.

    1. No console, selecione Databases (Bancos de dados) e selecione a réplica de leitura que você acabou de atualizar.

    2. Em Actions (Ações), escolha Create read replica (Criar réplica de leitura).

    3. Forneça o valor do DB instance identifier (Identificador de instância de banco de dados) para a réplica de leitura e verifique se a DB instance class (Classe da instância de banco de dados) e as outras configurações correspondem à instância de banco de dados MariaDB 10.5.

    4. Escolha Create read replica (Criar réplica de leitura).

  7. (Opcional) Configure um grupo de parâmetros de banco de dados personalizado para a réplica de leitura.

    Se você quiser que a instância de banco de dados use um grupo de parâmetros personalizado depois de ser promovida para uma instância de banco de dados autônoma, poderá criar o grupo de parâmetros de banco de dados agora pode associá-lo à réplica de leitura.

    1. Crie um grupo de parâmetros de banco de dados personalizado para o MariaDB 10.6. Para obter instruções, consulte Criar um grupo de parâmetros de banco de dados.

    2. Modifique os parâmetros que você deseja alterar no grupo de parâmetros de banco de dados que você acabou de criar. Para obter instruções, consulte Modificar parâmetros em um grupo de parâmetros de banco de dados.

    3. No console, selecione Databases (Bancos de dados) e a réplica de leitura.

    4. Selecione Modify.

    5. Em DB parameter group (Grupo de parâmetros do banco de dados), escolha o grupo de parâmetros do banco de dados MariaDB 10.6 que você acabou de criar, depois selecione Continue (Continuar).

    6. Em Scheduling of modifications (Programação de modificações), selecione Apply immediately (Aplicar imediatamente).

    7. Selecione Modify DB instance (Modificar instância de banco de dados) para iniciar a atualização.

  8. Torne sua réplica de leitura do MariaDB 10.6 uma instância de banco de dados autônoma.

    Importante

    Quando você promove a réplica de leitura do MariaDB 10.6 para uma instância de banco de dados autônoma, ela deixa de ser uma réplica da instância de banco de dados MariaDB 10.5. Recomendamos que você promova a réplica de leitura do MariaDB 10.6 durante uma janela de manutenção, quando a instância de banco de dados MariaDB 10.5 de origem estiver no modo somente leitura e todas as operações de gravação estiverem suspensas. Quando a promoção terminar, você poderá direcionar suas operações de gravação para a instância de banco de dados MariaDB 10.6 atualizada, para garantir que nenhuma operação de gravação seja perdida.

    Além disso, recomendamos que, antes de promover a réplica de leitura do MariaDB 10.6, você realize todas as operações de DDL (linguagem de definição de dados) necessárias na réplica de leitura do MariaDB 10.6. Um exemplo é a criação de índices. Essa abordagem evita efeitos negativos sobre a performance da réplica de leitura do MariaDB 10.6 depois da promoção. Para promover uma réplica de leitura, use o procedimento a seguir.

    1. No console, selecione Databases (Bancos de dados) e selecione a réplica de leitura que você acabou de atualizar.

    2. Em Actions (Ações), selecione Promote (Promover).

    3. Selecione Yes (Sim) para habilitar backups automatizados da instância da réplica de leitura. Para obter mais informações, consulte Introdução aos backups.

    4. Escolha Continue.

    5. Escolha Promote Read Replica (Promover réplica de leitura).

  9. Agora, você possui uma versão atualizada do seu banco de dados MariaDB. Neste ponto, você pode direcionar as aplicações para a nova instância de banco de dados MariaDB 10.6.