Nesta página, descrevemos como fazer upgrade da versão secundária de uma instância do MySQL. 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.
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 da atualização
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.get
da 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.get
da 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.