Accorder des privilèges utilisateur MySQL
Aperçu
Le connecteur MySQL est en préversion publique. Contactez votre équipe de compte Databricks pour demander l'accès.
Cette page contient des références au terme slave , un terme que Databricks n'utilise pas. Lorsque le terme est supprimé de l'outil tiers, nous le supprimons de cette page.
Apprenez à accorder les privilèges requis à l'utilisateur MySQL que vous utilisez pour importer des données dans Databricks.
Databricks vous recommande de créer un utilisateur MySQL dédié exclusivement pour l'ingestion Databricks. Cet utilisateur nécessite des privilèges spécifiques pour lire les données de table et accéder aux logs binaires pour la capture des changements de données.
Méthodes d'authentification
Le connecteur MySQL prend en charge les plug-ins d'authentification suivants en fonction de votre version de MySQL :
MySQL 5.7.44 et versions ultérieures :
sha256_password
MySQL 8,0 et versions ultérieures :
sha256_passwordcaching_sha2_password(default pour MySQL 8.0)
Si vous utilisez sha256_password ou caching_sha2_password, le bouton Tester la connexion dans l'interface utilisateur de Databricks peut échouer même avec des informations d'identification valides. Il s'agit d'une limitation connue. Vous pouvez toujours créer la connexion et procéder à la configuration du pipeline.
Créer l'utilisateur de réplication
Pour créer un utilisateur MySQL dédié à la réplication, exécutez les commandes SQL suivantes sur votre base de données 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!';
Remplacer StrongP@ssw0rd! par un mot de passe fort. Le caractère générique % permet les connexions depuis n'importe quel hôte. Pour une meilleure sécurité, remplacez % par les plages d'adresses IP ou les Hostname spécifiques que Databricks utilisera pour se connecter.
Privilèges requis
Accorder les privilèges suivants à l'utilisateur de réplication :
Privilège | Description |
|---|---|
| Nécessaire pour lire les logs binaires et suivre les modifications. |
| Nécessaire pour accéder à l'état de la réplication et aux métadonnées. |
| Requis pour valider le plugin d'authentification. Vous pouvez accorder soit |
| Nécessaire pour lire les instantanés initiaux et les métadonnées de la table. |
Déclarations d'octroi
Exécutez les commandes SQL suivantes pour accorder les privilèges requis :
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;
Vérifier les privilèges de l'utilisateur
Pour vérifier que l'utilisateur dispose des privilèges corrects, exécutez la commande suivante :
SHOW GRANTS FOR 'lakeflow_connect_user'@'%';
Le résultat comprend :
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'@'%'
Ressources supplémentaires
Après avoir créé l'utilisateur de réplication, configurez votre serveur MySQL pour la réplication binlog. Les étapes de configuration varient selon le type de déploiement :