Atualize a versão principal da base de dados migrando os dados

Esta página descreve como migrar os seus dados para uma instância que execute uma versão posterior do MySQL. Antes de continuar com este método, considere atualizar a versão principal da base de dados no local.

Existem duas formas de atualizar a versão principal da base de dados da sua instância do Cloud SQL para MySQL através da migração dos dados.

  • Opção 1. Use o Database Migration Service (DMS). O DMS suporta a migração a partir de uma instância do Cloud SQL MySQL. Também pode usá-lo para atualizar a versão do MySQL.
  • Opção 2. Mova os seus dados de uma versão do MySQL para outra através da exportação de dados da instância atual e da importação desses dados para uma nova instância que execute a versão mais recente do MySQL. Este processo implica tempo de inatividade. Coloca a instância atual no modo de leitura antes de iniciar a exportação.

Esta página aborda a segunda opção.

Planeie uma atualização da versão principal

  1. Escolha uma versão principal de destino.

    Consulte a lista de versões suportadas pelo Cloud SQL.

  2. Considere as funcionalidades oferecidas em cada versão do MySQL e resolva as incompatibilidades.

    As novas versões principais introduzem alterações incompatíveis que podem exigir que modifique o código da aplicação, o esquema ou as definições da base de dados antes de poder atualizar a instância da base de dados. Reveja as notas de lançamento da versão principal de destino para determinar as incompatibilidades que tem de resolver. Se estiver a ignorar versões principais, resolva as incompatibilidades indicadas para cada versão que está a ignorar.

  3. Se estiver a atualizar do MySQL 5.7 para o 8.0, verifique se existem alterações de concessão de utilizadores no MySQL 8.0.

    O Cloud SQL para MySQL versão 8.0 usa uma nova flag do sistema denominada partial_revokes, que está definida como ON por predefinição. Ao contrário do MySQL 5.7, esta flag remove a capacidade de usar carateres universais em comandos GRANT da base de dados. Para garantir que os utilizadores da base de dados têm acesso aos esquemas de base de dados corretos, modifique os privilégios dos utilizadores da base de dados antes de atualizar para o MySQL 8.0. Atualize os privilégios do utilizador para usar o nome completo dos esquemas de base de dados necessários em vez de usar carateres universais.

    Para mais informações sobre como esta flag funciona no MySQL 8.0, consulte revogações parciais no MySQL 8.0.

  4. Teste a atualização com um teste prévio.

    Faça um teste do processo de atualização ponto a ponto com uma instância de teste antes de atualizar a base de dados de produção. Pode testar a atualização usando um clone em vez da base 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 a atualização é concluída com êxito, execute testes para garantir que a aplicação funciona como esperado na base de dados atualizada. Se não ativou os aumentos automáticos de armazenamento, tome nota do armazenamento em disco usado pela instância de teste simulado atualizada para determinar se precisa de aumentar a capacidade de armazenamento da instância de produção antes da atualização.

  5. Decida quando quer fazer a atualização.

Migrar os seus dados

Para migrar os seus dados para uma instância do Cloud SQL que execute uma versão mais recente da base de dados, siga estes passos:

  1. Crie a instância com a versão principal da base de dados de destino.

    Certifique-se de que a instância de destino tem:

    • Armazenamento suficiente para conter todos os dados da instância atual.
    • As mesmas redes autorizadas que a instância atual. Saiba mais.
    • As mesmas contas de utilizador, com os mesmos privilégios e palavras-passe do MySQL.

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

  2. Confirme que consegue estabelecer ligação à nova instância com as suas ferramentas locais do MySQL e atualize-as, se necessário.

  3. Coloque a sua instância atual do Cloud SQL no modo de leitura, definindo a flag da base de dados read_only como On.

    Para mais informações, consulte o artigo Configure as flags da base de dados.

  4. Exporte os dados da instância atual para um ficheiro de despejo SQL, seguindo as instruções em Exporte dados para importação para o Cloud SQL.

    Não exporte a base de dados do sistema mysql.

  5. Crie um contentor do Cloud Storage se necessário e carregue o ficheiro de despejo SQL para o contentor.

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

  7. Opcional. Após concluir o processo de atualização, configure a replicação entre as instâncias de origem e de destino através de um servidor externo para atualizar a instância de destino com todas as alterações ocorridas desde o início da transferência inicial. Assim que as duas instâncias estiverem sincronizadas, pode promover a instância de destino.

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

  8. Atualize as suas aplicações para estabelecer ligação à nova instância.

  9. Quando tiver a certeza de que a nova instância está a funcionar com êxito, elimine a instância antiga.

O que se segue?