Esta página descreve como atualizar a versão secundária de uma instância do MySQL. Para ver as versões suportadas, consulte o artigo Versões da base de dados e políticas de versões.
Com cada nova versão secundária, os fornecedores de bases de dados lançam novas funcionalidades, patches de segurança, correções de erros e melhorias de desempenho. Além disso, o Cloud SQL atualiza regularmente a sua versão secundária durante a manutenção.
No entanto, o MySQL 8.0 não suporta a mudança para uma versão anterior. Como tal, as atualizações de versões secundárias não são incluídas automaticamente na manutenção de rotina. 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 atualização, ambos descritos nesta página.
Antes de atualizar 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 usar o Cloud SQL para MySQL 5.6 ou 5.7, o Cloud SQL gere automaticamente a versão secundária da sua instância. Quando aprovisiona uma nova instância, o Cloud SQL configura automaticamente a instância com a versão da base de dados mais recente disponível. Durante a manutenção de rotina, o Cloud SQL atualiza automaticamente a sua instância para a versão suportada mais recente.
Para atualizar a versão secundária da base de dados da sua instância do MySQL 8.0, tem de atualizar a instância com a versão secundária preferida, que tem de ser superior à versão secundária instalada. Não pode reverter para uma versão secundária não especificada depois de uma instância ter sido aprovisionada.
Se estiver a executar uma instância da edição Cloud SQL Enterprise Plus, a atualização da versão secundária é concluída com um tempo de inatividade quase nulo.
Antes de atualizar
O Cloud SQL suporta a atualização da versão secundária para instâncias do MySQL 8.0. O MySQL 8.0 não permite atualizações inferiores. Assim, antes de atualizar a instância principal, siga estes passos para garantir que os seus dados estão seguros.
Escolha a versão secundária de destino da base de dados.
gcloud
Para informações sobre a instalação e o início da utilização da CLI gcloud, consulte o artigo Instale a CLI gcloud. Para obter informações sobre como iniciar a Cloud Shell, consulte o artigo Use a Cloud Shell.
Para verificar que versões secundárias da base de dados estão disponíveis para uma atualização no local, faça o seguinte:
- Execute o seguinte comando.
- Na saída do comando,
localize a secção com a etiqueta
upgradableDatabaseVersions
. - Cada subsecção devolve uma versão da base de dados que está disponível para atualização. Em cada subsecção, reveja o seguinte campo.
name
: a string da versão da base de dados que inclui a versão principal e secundária da base de dados que pode segmentar para a atualização no local da versão secundária do Cloud SQL para MySQL.
gcloud sql instances describe INSTANCE_NAME
Substitua INSTANCE_NAME pelo nome da instância.
REST v1
Para verificar que versões secundárias da base de dados estão disponíveis para uma atualização no local, use o método
instances.get
da API Admin do Cloud SQL.Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- INSTANCE_NAME: o nome da instância.
Método HTTP e URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
upgradableDatabaseVersions: { major_version: "MYSQL_8_0" name: "MYSQL_8_0_36" display_name: "MySQL 8.0.36" }
REST v1beta4
Para verificar que versões secundárias da base de dados estão disponíveis para uma atualização no local, use o método
instances.get
da API Admin do Cloud SQL.Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- INSTANCE_NAME: o nome da instância.
Método HTTP e URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
upgradableDatabaseVersions: { major_version: "MYSQL_8_0" name: "MYSQL_8_0_36" display_name: "MySQL 8.0.36" }
Para ver a lista completa das versões de bases de dados suportadas pelo Cloud SQL, consulte o artigo Versões de bases de dados e políticas de versões.
Teste a atualização num ambiente de preparação.
Crie um clone da sua instância de produção para servir como instância de preparação. Esta ação cria uma nova instância da base de dados com as mesmas versões principal e secundária.
Faça uma atualização de versão secundária na instância de preparação.
Execute testes de carga de trabalho para verificar se a atualização foi bem-sucedida e se a sua aplicação tem o desempenho esperado. Quando o teste for bem-sucedido, avance para a atualização das instâncias de réplica de leitura.
Atualize as suas instâncias de réplica de leitura.
Atualize todas as réplicas de leitura na base de dados para a versão secundária de destino.
Verifique se a sua aplicação funciona conforme esperado.
Faça uma cópia de segurança da instância principal.
Tal como acontece com qualquer atualização significativa da base de dados, faça uma cópia de segurança da sua instância principal.
Atualize a versão secundária
Pode especificar a versão secundária da base de dados de uma instância existente através de gcloud
ou da API REST. Faça atualizações de versões secundárias num momento em que a base de dados não esteja em utilização. Se a sua instância precisar de um reinício, a instância vai sofrer alguma indisponibilidade. As instâncias da edição Cloud SQL Enterprise Plus
têm um tempo de inatividade quase nulo.
Se a versão instalada for superior à versão pedida,
o pedido é rejeitado.
gcloud
Use o comando gcloud sql instances patch
com a flag --database-version
.
Substitua as seguintes variáveis antes de executar o comando:
- INSTANCE_NAME: o nome da instância.
- DATABASE_VERSION: a versão da base de dados da instância. Se não especificar esta marca, é usada a versão principal predefinida.
gcloud sql instances patch INSTANCE_NAME \ --database-version=DATABASE_VERSION
REST v1
Use um pedido PATCH com o método
instances:patch e a flag databaseVersion
.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do projeto
- INSTANCE_ID: o ID da instância
- DATABASE_VERSION: a versão da base de dados para a qual atualizar.
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
Corpo JSON do pedido:
{ "databaseVersion": "DATABASE_VERSION" }
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "kind": "sql#operation", "targetLink": "https://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://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/fa3f7304-ccf6-4d2f-a6f5-24df00000032", "targetProject": "PROJECT_ID" }
REST v1beta4
Use um pedido PATCH com o método
instances:patch e a flag databaseVersion
.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do projeto
- INSTANCE_ID: o ID da instância
- DATABASE_VERSION: a versão da base de dados para a qual atualizar.
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT-ID/instances/INSTANCE_ID
Corpo JSON do pedido:
{ "databaseVersion": "DATABASE_VERSION" }
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/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://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/fa3f7304-ccf6-4d2f-a6f5-24df00000032", "targetProject": "PROJECT_ID" }
Verifique a versão secundária instalada da base de dados
Quando vê as informações de resumo da instância, a versão secundária instalada da base de dados é visível na secção Configuração.
Reverta uma atualização
Durante o teste de uma atualização, se detetar um problema, pode querer reverter a base de dados para recuperar a instância da base de dados que executa a versão secundária anterior.
Para restaurar uma cópia de segurança anterior à atualização, conclua os seguintes passos:
- Aprovisione uma instância de base de dados de recuperação na versão secundária anterior.
- Configure as definições na instância da base de dados de recuperação para o estado anterior à atualização.
- Restaure a cópia de segurança anterior à atualização que fez na instância de recuperação.
Em alternativa à restauração de uma cópia de segurança, faça uma recuperação num determinado momento e crie uma nova instância.