O Cloud SQL para MySQL oferece suporte a várias versões secundárias do MySQL 8.0 e provisiona instâncias do MySQL 8.0 na versão secundária padrão, que é uma versão secundária anterior à mais recente.
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.
O MySQL 8.0 não é compatível com o downgrade.
Upgrade automático
O Cloud SQL oferece suporte ao upgrade automático de versão secundária das instâncias do Cloud SQL para MySQL 8.0 que executam o MySQL versão 8.0.35 ou mais recente.
Quando o upgrade automático de versão secundária está ativado, uma instância do Cloud SQL para MySQL 8.0 é atualizada automaticamente para a versão secundária padrão do Cloud SQL para MySQL 8.0 durante a atualização de manutenção programada regularmente. Não é mais necessário fazer upgrades manuais da versão secundária para manter sua instância do Cloud SQL para MySQL atualizada com os patches de segurança e as correções de bugs mais recentes lançados pela comunidade do MySQL.
O upgrade automático de versão secundária ocorre apenas durante eventos de manutenção programados regularmente, não durante a manutenção por autoatendimento.
Ativar o upgrade automático para novas instâncias
Ao criar uma instância do Cloud SQL para MySQL 8.0, considere o seguinte sobre upgrades automáticos de versão secundária:
Se você criar uma instância do Cloud SQL para MySQL 8.0 sem selecionar uma versão secundária, ela será ativada com o upgrade automático de versão secundária por padrão.
Se você criar uma instância do Cloud SQL para MySQL 8.0 e selecionar uma versão secundária 8.0.35 ou mais recente, será possível ativar o upgrade automático de versão secundária durante a criação.
Se você 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 será possível ativar o upgrade automático de versão secundária. É necessário fazer um upgrade manual da versão secundária da instância.
Ativar o upgrade automático para instâncias atuais
Se a instância já estiver instalada com o Cloud SQL para MySQL 8.0.35 ou mais recente, será possível ativar o upgrade secundário automático para ela.
Siga estas etapas para ativar os upgrades automáticos em uma instância do MySQL 8.0. Este procedimento não faz upgrade da instância. A instância vai receber upgrades automáticos de versão secundária durante o próximo evento de manutenção programado.
Console
Para ativar os upgrades automáticos do MySQL 8.0 em uma instância atual, faça o seguinte:
-
No console Google Cloud , acesse a página Instâncias do Cloud SQL.
- Para abrir a página Visão geral de uma instância, clique no nome dela.
- Clique em Editar.
- Na seção Personalizar sua instância, selecione Ativar upgrades automáticos da versão secundária.
- Clique em Salvar.
gcloud
Para ativar os upgrades automáticos do MySQL 8.0 em uma instância atual, faça o seguinte:
- Execute este comando:
- Confira 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.
Na saída, procure o campo DatabaseType e verifique
se o valor foi atualizado para MYSQL_8_0.
Verificar se o upgrade automático da versão secundária está ativado
Para verificar se a sua instância está ativada para upgrade automático 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 dela. Na saída do comando, localize os seguintes campos.
databaseVersion: o valor precisa serMYSQL_8_0.databaseInstalledVersion: o valor precisa ser uma versão secundária igual ou maior queMYSQL_8_0_35
Upgrade manual
Nesta seção, descrevemos como fazer upgrade manual da versão secundária de uma instância do Cloud SQL para MySQL 8.0. Se você estiver executando uma versão 8.0.34 ou anterior do Cloud SQL para MySQL, faça upgrade manual da versão secundária.
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.
Se você estiver executando uma instância do Cloud SQL edição Enterprise Plus, o upgrade da versão secundária será concluído com um tempo de inatividade quase zero.
Antes de fazer upgrade manualmente
O Cloud SQL oferece suporte ao upgrade de versão secundária para instâncias do MySQL 8.0. 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.
Escolha a versão secundária de destino do banco de dados.
gcloud
Para informações sobre como instalar e dar os primeiros passos com a CLI gcloud, consulte Instalar a CLI gcloud. Para mais informações sobre como iniciar o Cloud Shell, consulte Usar o Cloud Shell.
Para verificar quais versões secundárias do banco de dados estão disponíveis para um upgrade no local, faça o seguinte:
- Execute o comando a seguir.
- Na saída do comando,
localize a seção identificada como
upgradableDatabaseVersions. - Cada subseção retorna uma versão do banco de dados disponível para upgrade. Em cada subseção, revise os seguintes campos.
name: a sequência de versão do banco de dados que inclui a versão principal e secundária do banco de dados que você pode direcionar para a atualização in-loco 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 quais versões secundárias do banco de dados estão disponíveis para um upgrade no local, use o método
instances.getda API Cloud SQL Admin.Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- 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 a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
upgradableDatabaseVersions: { major_version: "MYSQL_8_0" name: "MYSQL_8_0_36" display_name: "MySQL 8.0.36" }REST v1beta4
Para verificar quais versões secundárias do banco de dados estão disponíveis para um upgrade no local, use o método
instances.getda API Cloud SQL Admin.Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- 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 a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
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 bancos de dados com suporte do Cloud SQL, consulte Versões do banco de dados e políticas de versão.
Teste o upgrade em um ambiente de preparo.
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.
Execute um upgrade de versão secundária na instância de preparo.
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.
Faça upgrade das instâncias de réplica de leitura.
Faça upgrade de todas as réplicas de leitura no banco de dados para a versão secundária de destino.
Verifique se o aplicativo funciona conforme o esperado.
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. Se a instância precisar ser reiniciada, ela
passará por um período de inatividade. As instâncias do Cloud SQL Enterprise Plus
têm tempo de inatividade quase zero.
Se a versão instalada for mais recente que a 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://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 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/sql/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://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"
}
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:
- Provisione uma instância de banco de dados de recuperação na versão secundária anterior.
- Definir as configurações na instância do banco de dados de recuperação para o estado pré-upgrade.
- 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.