Configure uma base de dados MySQL do Amazon RDS para CDC

Esta página descreve como configurar a captura de dados de alterações (CDC) para transmitir dados de uma base de dados do Amazon RDS for MySQL para um destino suportado, como o BigQuery ou o Cloud Storage.

Crie um grupo de parâmetros

  1. Inicie o painel de controlo do Amazon RDS.

  2. No menu de navegação, clique em Grupos de parâmetros.

  3. Clique em Criar grupo de parâmetros. É apresentada a página Criar grupo de parâmetros.

  4. Selecione a família de bases de dados que corresponde à sua base de dados, indique um nome e uma descrição para o grupo de parâmetros.

  5. Clique em Criar.

  6. Selecione a caixa de verificação à esquerda do grupo de parâmetros recém-criado.

  7. Em Ações do grupo de parâmetros, clique em Editar.

  8. Use a tabela seguinte para definir os parâmetros do seu grupo.

    • Para a replicação baseada em binlog:

      ParâmetroValor
      binlog_formatROW
      log_bin_use_v1_row_events1
      read_only0
      net_read_timeout3600
      net_write_timeout3600
      wait_timeout86400
    • Para a replicação baseada em GTID:

      ParâmetroValor
      binlog_formatROW
      log_bin_use_v1_row_events1
      read_only0
      net_read_timeout3600
      net_write_timeout3600
      wait_timeout86400
      expire-logs-days7
      binlog_row_imageFULL
      max_allowed_packet1G (valor recomendado)
      log-replica-updates1
      enforce-gtid-consistencyON
      gtid_mode

      ON

      Só pode definir este parâmetro como ON depois de definir enforce-gtid-consistency como ON. Em geral, gtid_mode pode ter os seguintes valores:
      • OFF
      • OFF_PERMISSIVE
      • ON_PERMISSIVE
      • ON
      Só pode alterar os valores do parâmetro gtid_mode um passo de cada vez. Por exemplo, se o modo atual estiver definido como OFF, faça o seguinte:
      1. Altere a definição para OFF_PERMISSIVE.
      2. Altere a definição para ON_PERMISSIVE.
      3. Altere a definição para ON.
      Para mais informações, consulte a documentação do MySQL.
  9. Clique em Guardar alterações.

Crie uma réplica de leitura

  1. Inicie o painel de controlo do Amazon RDS.

  2. No menu de navegação, clique em Bases de dados.

  3. Selecione a instância principal da base de dados à qual quer que o Datastream se ligue.

  4. Expanda o botão Ações e, de seguida, clique em Criar réplica de leitura.

  5. Configure a réplica de leitura, conforme necessário.

  6. Clique em Criar réplica de leitura.

Configure a réplica de leitura (ou a base de dados de origem)

  1. Inicie o painel de controlo do Amazon RDS.

  2. No menu de navegação, clique em Bases de dados.

  3. Selecione a réplica de leitura que criou e, de seguida, clique em Modificar.

  4. Aceda à secção Configuração adicional.

  5. Selecione o grupo de parâmetros que criou.

  6. Defina o período de retenção da cópia de segurança como 7 dias.

  7. Clique em Continuar.

  8. Em Agendamento de modificações, selecione Aplicar imediatamente.

Verifique se o grupo de parâmetros está atribuído à instância da base de dados

  1. Inicie o painel de controlo do Amazon RDS.

  2. No menu de navegação, clique em Bases de dados e, de seguida, selecione a instância da base de dados.

  3. Clique no separador Configurações.

  4. Verifique se vê o grupo de parâmetros que criou e se o respetivo estado é pending-reboot.

  5. Reinicie a instância de base de dados para concluir a configuração. Para reiniciar a instância:

    1. No menu de navegação, clique em Instâncias.
    2. Selecione a instância de base de dados.
    3. No menu Ações da instância, selecione Reiniciar.

Defina o período de retenção do registo binário

  1. Introduza o seguinte comando do MySQL:

    call mysql.rds_set_configuration('binlog retention hours', 168);
  2. Reinicie o servidor MySQL para que as alterações feitas possam entrar em vigor.

Crie um utilizador da stream de dados

  1. Crie um utilizador da stream de dados:

    CREATE USER 'datastream'@'%' IDENTIFIED BY 'YOUR_PASSWORD';
  2. Conceda-lhes os seguintes privilégios:

    GRANT REPLICATION SLAVE, SELECT, REPLICATION CLIENT ON *.* TO 'datastream'@'%';
    GRANT EXECUTE ON PROCEDURE mysql.rds_show_configuration TO 'datastream'@'%';
    FLUSH PRIVILEGES;

O que se segue?