O Cloud SQL para MySQL suporta várias versões secundárias do MySQL 8.0 e aprovisiona instâncias do MySQL 8.0 na versão secundária predefinida, que é uma versão secundária anterior à versão secundária mais recente.
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.
O MySQL 8.0 não suporta a desatualização.
Atualização automática
O Cloud SQL suporta a atualização automática da versão secundária das instâncias do Cloud SQL para MySQL 8.0 que executam a versão do MySQL 8.0.35 ou posterior.
Quando a atualização automática da versão secundária está ativada, uma instância do Cloud SQL para MySQL 8.0 é atualizada automaticamente para a versão secundária predefinida do Cloud SQL para MySQL 8.0 durante a atualização de manutenção agendada regularmente. Já não tem de fazer atualizações das versões secundárias manualmente para manter a sua instância do Cloud SQL para MySQL atualizada com os mais recentes patches de segurança e correções de erros lançados pela comunidade do MySQL.
A atualização automática da versão secundária ocorre apenas durante eventos de manutenção agendados regularmente e não durante a manutenção self-service.
Ative a atualização automática para novas instâncias
Quando criar uma nova instância do Cloud SQL para MySQL 8.0, considere o seguinte relativamente aos upgrades automáticos da versão secundária:
Se criar uma nova instância do Cloud SQL para MySQL 8.0 sem selecionar uma versão secundária, a instância é ativada com a atualização automática da versão secundária por predefinição.
Se criar uma instância do Cloud SQL para MySQL 8.0 e selecionar uma versão secundária 8.0.35 ou posterior, pode ativar a atualização automática da versão secundária durante a criação.
Se criar uma instância do Cloud SQL para MySQL 8.0 e selecionar uma versão secundária 8.0.34 ou anterior, não pode ativar a atualização automática da versão secundária. Tem de fazer uma atualização manual da versão secundária da instância.
Ative a atualização automática para instâncias existentes
Se a sua instância existente já tiver o Cloud SQL para MySQL 8.0.35 ou posterior, pode ativar a atualização secundária automática para a sua instância.
Siga estes passos para ativar as atualizações automáticas numa instância do MySQL 8.0 existente. Este procedimento não atualiza a sua instância. A instância vai receber atualizações automáticas de versões secundárias durante o próximo evento de manutenção agendado.
Consola
Para ativar as atualizações automáticas do MySQL 8.0 para uma instância existente, faça o seguinte:
-
Na Google Cloud consola, aceda à página Instâncias do Cloud SQL.
- Para abrir a página Vista geral de uma instância, clique no nome da instância.
- Clique em Edit.
- Na secção Personalize a sua instância, selecione Ativar atualizações automáticas de versões secundárias.
- Clique em Guardar.
gcloud
Para ativar as atualizações automáticas do MySQL 8.0 para uma instância existente, faça o seguinte:
- Execute o seguinte comando:
- Verifique os metadados da instância executando o seguinte comando:
gcloud sql instances patch INSTANCE_NAME \ --enable-auto-upgrade-minor-version
Substitua INSTANCE_NAME pelo nome da instância.
gcloud sql instances describe INSTANCE_NAME
Substitua INSTANCE_NAME pelo nome da instância.
No resultado, procure o campo DatabaseType e verifique se o valor foi atualizado para MYSQL_8_0.
Verifique se a ativação do upgrade secundário automático está disponível
Para verificar se a sua instância está ativada para a atualização automática da versão secundária, execute o seguinte comando:
gcloud sql instances describe INSTANCE_NAME \ --project=PROJECT_ID
Substitua INSTANCE_NAME pelo nome da instância e PROJECT_ID pelo ID do projeto da instância. No resultado do comando, localize os seguintes campos.
databaseVersion: o valor tem de serMYSQL_8_0databaseInstalledVersion: o valor tem de ser uma versão secundária igual ou superior aMYSQL_8_0_35
Atualização manual
Esta secção descreve como atualizar manualmente a versão secundária de uma instância do Cloud SQL para MySQL 8.0. Se estiver a usar uma versão 8.0.34 ou anterior do Cloud SQL para MySQL, tem de atualizar manualmente a versão secundária do Cloud SQL para MySQL.
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 fazer a atualização manual
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 obter 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.getda 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.getda 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, prossiga com a atualização das instâncias da 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 uso. 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 à reposição de uma cópia de segurança, faça uma recuperação num determinado momento e crie uma nova instância.