Faça upgrade da versão principal do banco de dados migrando dados

Esta página descreve como migrar seus dados para uma instância que executa uma versão posterior do MySQL. Antes de continuar com esse método, faça o upgrade da versão principal do banco de dados no local.

Há duas maneiras de fazer upgrade da versão principal do banco de dados da instância do Cloud SQL para MySQL migrando os dados.

  • Opção 1. Use o Database Migration Service (DMS, na sigla em inglês). O DMS permite a migração de uma instância do MySQL do Cloud SQL. Também é possível usá-lo para fazer upgrade da versão do MySQL.
  • Opção 2. Mova os dados de uma versão do MySQL para outra exportando os dados da instância atual e importando esses dados para uma nova instância executando a versão posterior do MySQL. Esse processo envolve inatividade. Você coloca a instância atual em modo somente leitura antes de iniciar a exportação.

Nesta página, discutiremos a segunda opção.

Planejar um upgrade de versão principal

  1. Escolha uma versão principal de destino.

    Veja a lista de versões compatíveis com o Cloud SQL.

  2. Considere os recursos oferecidos em cada versão do MySQL e as incompatibilidades de endereço.

    Novas versões principais apresentam alterações incompatíveis que podem exigir que você modifique o código, o esquema ou as configurações do banco de dados do aplicativo antes de fazer upgrade da instância do banco de dados. Revise as notas de lançamento da versão principal de destino para determinar as incompatibilidades que você precisa resolver. Se você estiver pulando versões principais, resolva as incompatibilidades listadas para cada versão que você está ignorando.

  3. Verificar se houve alterações na concessão de usuários no MySQL 8.0

    O Cloud SQL para MySQL versão 8.0 usa uma nova flag do sistema chamada partial_revokes, que é definida como ON por padrão. Ao contrário do MySQL 5.7, essa flag remove o recurso de uso de caracteres curinga em comandos GRANT do banco de dados. Para garantir que os usuários do banco de dados tenham acesso aos esquemas de banco de dados corretos, modifique os privilégios de usuário do banco de dados antes de fazer upgrade para o MySQL 8.0. Atualize os privilégios do usuário para usar o nome completo dos esquemas de banco de dados necessários em vez de usar caracteres curinga.

    Para mais informações sobre como essa sinalização funciona no MySQL 8.0, consulte partial_revokes no MySQL 8.0.

  4. Teste o upgrade com uma simulação.

    Faça uma simulação do processo de upgrade de ponta a ponta com uma instância de teste antes de fazer upgrade do banco de dados de produção. É possível testar o upgrade usando um clone em vez de seu banco de dados de produção para evitar qualquer impacto no desempenho da exportação na carga de trabalho de produção.

    Além de validar se o upgrade foi concluído com sucesso, execute testes para garantir que o aplicativo se comporta conforme o esperado no banco de dados atualizado. Se você não ativou os aumentos de armazenamento automáticos, anote o armazenamento em disco usado pela instância de simulação atualizada para determinar se é necessário aumentar a capacidade de armazenamento da instância de produção antes do upgrade.

  5. Decida quando você quer fazer upgrade.

Migrar seus dados

Para migrar os dados para uma instância do Cloud SQL executando uma versão mais recente do banco de dados, siga estas etapas:

  1. Crie a instância de destino com a versão principal do banco de dados desejada.

    Certifique-se de que essa instância tenha:

    • armazenamento suficiente para conter todos os dados da instância atual;
    • as mesmas redes autorizadas da instância atual. Saiba mais;
    • as mesmas contas de usuário, com os mesmos privilégios e senhas do MySQL.

    Para mais informações, consulte Como criar uma instância.

  2. Confirme se consegue estabelecer uma conexão com a nova instância usando as ferramentas locais do MySQL. Atualize-as, se necessário.

  3. Coloque a instância atual do Cloud SQL em modo somente leitura definindo a sinalização read_only do banco de dados como On.

    Para mais informações, consulte Configurar sinalizações do banco de dados.

  4. Exporte os dados da instância atual para um arquivo dump do SQL, seguindo as instruções em Exportar dados para importação no Cloud SQL.

    Não exporte o banco de dados mysql do sistema.

  5. Crie um bucket do Cloud Storage, se necessário, e faça upload do arquivo dump SQL nesse contêiner básico.

  6. Importe os dados para a instância de destino, seguindo as instruções em Importar bancos de dados MySQL do Cloud Storage.

  7. Opcional. Depois de concluir o processo de upgrade, configure a replicação entre as instâncias de origem e de destino usando um servidor externo para atualizar o destino com todas as alterações que ocorreram desde que o dump inicial foi iniciado. Quando as duas instâncias estiverem sincronizadas, será possível promover a instância de destino.

    Para informações sobre como usar um servidor externo para implementar a replicação contínua, consulte Como replicar a partir de um servidor externo.

  8. Atualize os aplicativos para se conectar à nova instância.

  9. Se a nova instância estiver operando corretamente, exclua a instância anterior.

A seguir