Pular para o conteúdo principal

Conceder privilégios de usuário do MySQL

info

Visualização

O conector MySQL está em versão prévia pública. Entre em contato com a equipe da sua account Databricks para solicitar acesso.

info

Esta página contém referências ao termo "escravo" , um termo que o Databricks não utiliza. Quando o termo for removido do software de terceiros, nós o removeremos desta página.

Aprenda como conceder os privilégios necessários para o usuário MySQL que você usa para inserir dados no Databricks.

A Databricks recomenda que você crie um usuário MySQL dedicado exclusivamente para a ingestão de dados da Databricks. Este usuário requer privilégios específicos para ler dados de tabelas e acessar logs binários para captura de dados de alterações (CDC).

Métodos de autenticação

O conector MySQL suporta os seguintes plugins de autenticação, dependendo da sua versão do MySQL:

MySQL 5.7.44 e versões posteriores:

  • sha256_password

MySQL 8.0 e versões posteriores:

  • sha256_password
  • caching_sha2_password (default para MySQL 8.0)
nota

Se você usar sha256_password ou caching_sha2_password, o botão Testar Conexão na interface do Databricks pode falhar mesmo com credenciais válidas. Essa é uma limitação conhecida. Você ainda pode criar a conexão e prosseguir com a configuração do pipeline.

Crie o usuário de replicação

Para criar um usuário MySQL dedicado para replicação, execute o seguinte comando SQL em seu banco de dados MySQL :

SQL
-- For MySQL version >= 8.x
CREATE USER 'lakeflow_connect_user'@'%' IDENTIFIED WITH caching_sha2_password BY 'StrongP@ssw0rd!';

-- For MySQL version 5.7.x
CREATE USER 'lakeflow_connect_user'@'%' IDENTIFIED WITH sha256_password BY 'StrongP@ssw0rd!';

Substitua StrongP@ssw0rd! por uma senha forte. O caractere curinga % permite conexões de qualquer host. Para maior segurança, substitua % pelos intervalos de IP específicos ou nome de host que Databricks usará para se conectar.

Privilégios necessários

Conceda os seguintes privilégios ao usuário de replicação:

Privilégio

Descrição

REPLICATION SLAVE

Necessário para ler logs binários e rastrear alterações.

REPLICATION CLIENT

Necessário para acessar o status de replicação e os metadados.

SELECT(plugin, user) na tabela mysql.user

Necessário para validar o plugin de autenticação. Você pode conceder SELECT(plugin, user) ou SELECT completo na tabela mysql.user .

SELECT em bancos de dados e tabelas de destino

Necessário para ler o Snapshot inicial e os metadados da tabela.

Declarações de concessão

Execute o seguinte comando SQL para conceder os privilégios necessários:

SQL
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'lakeflow_connect_user'@'%';

GRANT SELECT(plugin,user) ON mysql.user TO 'lakeflow_connect_user'@'%';

-- Grant select privilege on all user tables
GRANT SELECT ON *.* TO 'lakeflow_connect_user'@'%';

FLUSH PRIVILEGES;

Verificar privilégios de usuário

Para verificar se o usuário possui os privilégios corretos, execute o seguinte comando:

SQL
SHOW GRANTS FOR 'lakeflow_connect_user'@'%';

A saída inclui o seguinte:

SQL
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'lakeflow_connect_user'@'%'
GRANT SELECT (`plugin`, `user`) ON `mysql`.`user` TO 'lakeflow_connect_user'@'%'
GRANT SELECT ON *.* TO 'lakeflow_connect_user'@'%'

Próximos passos

Após criar o usuário de replicação, configure seu servidor MySQL para replicação de binlog. A configuração dos passos varia de acordo com o tipo de implantação: