Criando um Usuário Aplicador em um Sistema de BD de Destino

O usuário aplicador é uma conta de usuário que reside no servidor de réplica e fornece um contexto de segurança para um canal de replicação MySQL. A conta deve ter o privilégio REPLICATION_APPLIER, além de todos os privilégios necessários para executar as transações replicadas no canal.

A replicação de entrada HeatWave requer um usuário applier que assume como padrão a conta de administrador do sistema de banco de dados. Se você precisar de um conjunto de privilégios mais restritivo para o usuário aplicador, poderá criar uma conta de usuário separada, conceder todos os privilégios necessários à conta e especificar a conta como o usuário aplicador ao criar o canal.

Usando um Cliente de Linha de Comando

Use um cliente de linha de comando, como MySQL Shell ou MySQL Client, para criar um usuário applier com os privilégios necessários no sistema de banco de dados de destino.

Esta tarefa requer o seguinte:
  • MySQL Shell 8.0.27 mais recente ou um Cliente MySQL.
Faça o seguinte para adicionar um usuário aplicador ao sistema de banco de dados de destino:
  1. Abra o Shell MySQL e estabeleça conexão com o sistema de banco de dados de destino.
  2. Execute o comando a seguir no modo de execução SQL para criar um usuário applier. Neste exemplo, o nome de usuário do usuário applier é appluser:
    CREATE USER appluser@'%' IDENTIFIED BY 'password' REQUIRE SSL;
    A senha deve ter de 8 a 32 caracteres e conter pelo menos um caractere numérico, um caractere especial, uma caixa alta e uma caixa baixa. Se o nome de usuário contiver caracteres especiais, como espaço ou hífen, ele também deverá estar entre aspas, por exemplo:
    CREATE USER 'appl-user'@'%' IDENTIFIED BY 'password' REQUIRE SSL;
  3. Execute o seguinte comando para conceder o privilégio REPLICATION_APPLIER ao novo usuário applier, appluser neste exemplo:
    GRANT REPLICATION_APPLIER ON *.* TO appluser@'%';
  4. Execute um ou mais comandos para conceder todos os privilégios necessários ao novo usuário do applier.
    • Neste exemplo, a atribuição administrator do sistema de BD é concedida à conta de usuário appluser:
      GRANT administrator TO appluser@'%';
      SET DEFAULT ROLE administrator TO appluser@'%';
    • Em vez da atribuição administrator, você poderá conceder um conjunto mais restritivo de privilégios ao usuário do aplicador se quiser restringir as instruções SQL que podem ser replicadas para o sistema de banco de dados. Por exemplo, se você usar o filtro de replicação para replicar apenas um esquema, poderá restringir os privilégios do usuário do aplicador a um esquema com GRANT ALL ON <schema_name>.* TO appluser@'%';
      Observação

      Se o usuário do aplicador não tiver privilégio suficiente para executar qualquer uma das instruções SQL replicadas, a replicação falhará com um erro. É necessário determinar se a instrução deve ser replicada ou filtrada e se você precisa conceder mais privilégios ao usuário aplicador. Você precisa corrigir o problema antes de retomar a replicação quando ocorrer um erro.

O usuário aplicador é criado e concedido com os privilégios necessários.