Fazer upgrade da versão secundária do banco de dados

Nesta página, descrevemos como definir a versão secundária do banco de dados de uma instância. Para ver as versões suportadas, consulte Versões de banco de dados e políticas de versão.

A cada nova versão secundária, os provedores de banco de dados lançam novos recursos, patches de segurança, correções de bugs e melhorias no desempenho. Além disso, o Cloud SQL atualiza regularmente sua versão secundária durante a manutenção.

No entanto, o MySQL 8.0 não é compatível com o downgrade. Desse modo, os upgrades de versão secundárias não são incluídos automaticamente na manutenção de rotina. Você pode especificar a versão secundária do Cloud SQL para MySQL 8.0 ao criar uma instância ou posteriormente através de um processo de upgrade, que estão descritos nesta página.

Antes de fazer upgrade para uma nova versão secundária do MySQL 8.0, familiarize-se com as alterações. Consulte as Notas de lançamento do MySQL 8.0. Se você usa o Cloud SQL para MySQL 5.6 ou 5.7, o Cloud SQL gerencia automaticamente a versão secundária da instância. Quando você provisiona uma nova instância, o Cloud SQL configura automaticamente sua instância com a versão mais recente do banco de dados disponível. Durante a manutenção de rotina, o Cloud SQL faz o upgrade automático da instância para a versão compatível mais recente.

Para fazer upgrade da versão secundária do banco de dados da instância do MySQL 8.0, é preciso atualizar a instância com a versão secundária de sua preferência, que precisa ser superior à versão secundária instalada. Não é possível reverter para uma versão secundária não especificada depois que uma instância é provisionada.

Antes da atualização

O MySQL 8.0 não permite downgrades. Portanto, antes de fazer upgrade da sua instância principal, siga estas etapas para garantir que os dados estejam seguros.

  1. Teste o upgrade em um ambiente de preparo.

    1. Crie um clone da sua instância de produção para servir como instância de preparo. Isso cria uma nova instância de banco de dados com as mesmas versões principal e secundária.

    2. Execute um upgrade de versão secundária na instância de preparo.

    3. Execute testes de carga de trabalho para verificar se o upgrade foi bem-sucedido e se o aplicativo tem o desempenho esperado. Quando o teste for bem-sucedido, prossiga para o upgrade das instâncias de réplica de leitura.

  2. Faça upgrade das instâncias de réplica de leitura.

    1. Faça upgrade de todas as réplicas de leitura no banco de dados para a versão secundária de destino.

    2. Verifique se o aplicativo funciona conforme o esperado.

  3. Faça backup da instância principal.

    Como em qualquer atualização significativa do banco de dados, faça um backup da instância principal.

Fazer upgrade da versão secundária

É possível especificar a versão secundária do banco de dados de uma instância atual usando gcloud ou a API REST. Faça upgrades menores de versão quando o banco de dados não estiver em uso. A instância é reiniciada durante a operação, o que causa inatividade. Se a versão instalada atualmente for superior à versão solicitada, a solicitação será rejeitada.

gcloud

Use o comando gcloud sql instances patch com a sinalização --database-version:

Substitua as seguintes variáveis antes de executar o comando:

  • INSTANCE_NAME: o nome da instância
  • DATABASE_VERSION: a versão do banco de dados da instância. Se você não especificar essa sinalização, a versão principal padrão será usada.
gcloud sql instances patch INSTANCE_NAME \
--database-version=DATABASE_VERSION

REST v1

Use uma solicitação PATCH com o método instances:patch e a sinalização databaseVersion.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT-ID: o ID do projeto
  • INSTANCE-ID: o ID da instância
  • DATABASE_VERSION: a versão do banco de dados que será atualizada.

Método HTTP e URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT-ID/instances/INSTANCE-ID

Corpo JSON da solicitação:

{
  "databaseVersion": "DATABASE_VERSION"
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "kind": "sql#operation",
  "targetLink": "https://content-sqladmin.googleapis.com/v1/projects/PROJECT-ID/instances/INSTANCE-ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2022-07-17T20:23:15.540Z",
  "operationType": "UPDATE",
  "name": "fa3f7304-ccf6-4d2f-a6f5-24df00000032",
  "targetId": "INSTANCE-ID",
  "selfLink": "https://content-sqladmin.googleapis.com/v1/projects/PROJECT-ID/operations/fa3f7304-ccf6-4d2f-a6f5-24df00000032",
  "targetProject": "PROJECT-ID"
}

REST v1beta4

Use uma solicitação PATCH com o método instances:patch e a sinalização databaseVersion.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT-ID: o ID do projeto
  • INSTANCE-ID: o ID da instância
  • DATABASE_VERSION: a versão do banco de dados que será atualizada.

Método HTTP e URL:

 https://sqladmin.googleapis.com/v1beta4/projects/PROJECT-ID/instances/INSTANCE-ID

Corpo JSON da solicitação:

{
  "databaseVersion": "DATABASE_VERSION"
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "kind": "sql#operation",
  "targetLink": "https://content-sqladmin.googleapis.com/v1beta4/projects/PROJECT-ID/instances/INSTANCE-ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2022-07-17T20:23:15.540Z",
  "operationType": "UPDATE",
  "name": "fa3f7304-ccf6-4d2f-a6f5-24df00000032",
  "targetId": "INSTANCE-ID",
  "selfLink": "https://content-sqladmin.googleapis.com/v1beta4/projects/PROJECT-ID/operations/fa3f7304-ccf6-4d2f-a6f5-24df00000032",
  "targetProject": "PROJECT-ID"
}

Verificar a versão secundária instalada do banco de dados

Quando você visualiza as informações de resumo da instância, a versão secundária instalada do banco de dados fica visível na seção "Configuração".

Reverter um upgrade

Ao testar um upgrade, se você perceber um problema, convém reverter o banco de dados para recuperar a instância do banco de dados que executa a versão secundária anterior.

Para restaurar um backup pré-upgrade, faça o seguinte:

  1. Provisione uma instância de banco de dados de recuperação na versão secundária anterior.
  2. Definir as configurações na instância do banco de dados de recuperação para o estado pré-upgrade.
  3. Restaure o backup pré-upgrade feito para a instância de recuperação.

Como alternativa para restaurar um backup, faça uma recuperação pontual e crie uma nova instância.