Conceder privilégios de usuário do MySQL
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.
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_passwordcaching_sha2_password(default para MySQL 8.0)
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 :
-- 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 |
|---|---|
| Necessário para ler logs binários e rastrear alterações. |
| Necessário para acessar o status de replicação e os metadados. |
| Necessário para validar o plugin de autenticação. Você pode conceder |
| 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:
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:
SHOW GRANTS FOR 'lakeflow_connect_user'@'%';
A saída inclui o seguinte:
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: