Aller au contenu principal

Configurer Azure Database pour MySQL pour l'ingestion

info

Aperçu

Le connecteur MySQL est en préversion publique. Contactez votre équipe de compte Databricks pour demander l'accès.

Découvrez comment configurer Azure Database for MySQL pour l'ingestion dans Databricks. Vous devez activer la journalisation binaire et configurer la rétention du journal binaire pour prendre en charge la capture des changements de données.

Exigences

  • Azure Database pour MySQL version 5.7.44 et ultérieure, ou 8.0 et ultérieure (serveur flexible).
  • Autorisation de modifier les paramètres du serveur.

Configurer les paramètres du serveur

La journalisation binaire est contrôlée par des paramètres de serveur dans Azure Database pour MySQL. Vous devez configurer ces parameters via le portail Azure.

Paramètres serveur requis

Configurez les paramètres du serveur suivants :

parameter

Valeur

Description

log_bin

ON

Active la journalisation binaire. log_bin est activé par default dans Azure MySQL Flexible Server et n'est pas configurable. Si cette option est disponible, définissez-la sur ON.

binlog_format

ROW

Définit le format des logs binaires sur la réplication basée sur les lignes. Requis pour la capture des données modifiées.

binlog_row_image

FULL

Logs toutes les colonnes dans le journal binaire, pas seulement les colonnes modifiées.

binlog_expire_logs_seconds

Minimum : 86400 (un jour). Recommandé : 604800 (sept jours)

Spécifie la durée de conservation des Logs binaires avant la purge automatique.

parameter

Valeur

Description

log_bin

ON

Active la journalisation binaire. log_bin est activé par default dans Azure MySQL Flexible Server et n'est pas configurable. Si cette option est disponible, définissez-la sur ON.

binlog_format

ROW

Définit le format des logs binaires sur la réplication basée sur les lignes. Requis pour la capture des données modifiées.

binlog_row_image

FULL

Logs toutes les colonnes dans le journal binaire, pas seulement les colonnes modifiées.

binlog_expire_logs_seconds

Minimum : 86400 (un jour). Recommandé : 604800 (sept jours)

Spécifie la durée de conservation des Logs binaires avant la purge automatique.

Portail Azure.

Pour configurer les parameters du serveur à l’aide du portail Azure :

  1. Connectez-vous au Portail Azure et naviguez vers votre serveur Azure Database pour MySQL.
  2. Dans le menu de gauche, sous Paramètres , sélectionnez Paramètres du serveur .
  3. Recherchez binlog_format et définissez la valeur sur ROW.
  4. Recherchez binlog_row_image et définissez la valeur sur FULL.
  5. Recherchez binlog_expire_logs_seconds et définissez la valeur minimale à 86400 (un jour). Databricks recommande de le définir sur 604800 (sept jours).
  6. Cliquez sur Enregistrer en haut de la page.
  7. Lorsque vous y êtes invité(e), redémarrez le serveur pour que les modifications prennent effet.

Considérations relatives à la rétention des journaux binaires

La période de rétention minimale du journal binaire est d'un jour (24 heures ou 86 400 secondes). Databricks recommande une période de rétention du journal binaire de sept jours (168 heures ou 604 800 secondes). Si vous définissez une valeur inférieure, les journaux binaires pourraient être supprimés avant que la passerelle d'ingestion ne les traite, nécessitant un full refresh de toutes les tables.

Une full refresh est également requise si la passerelle ne peut pas traiter les binlogs en continu. Si la passerelle est arrêtée pendant plus de binlog_expire_logs_seconds, les binlogs pourraient être supprimés avant la reprise de l'ingestion.

Vérifier la configuration du binlog.

Après avoir configuré les paramètres du serveur et redémarré le serveur, vérifiez que la journalisation binaire est correctement configurée :

SQL
-- Check if binary logging is enabled
SHOW VARIABLES LIKE 'log_bin';

-- Should return:
-- +---------------+-------+
-- | Variable_name | Value |
-- +---------------+-------+
-- | log_bin | ON |
-- +---------------+-------+

-- Check binlog format
SHOW VARIABLES LIKE 'binlog_format';

-- Should return:
-- +---------------+-------+
-- | Variable_name | Value |
-- +---------------+-------+
-- | binlog_format | ROW |
-- +---------------+-------+

-- Check binlog row image
SHOW VARIABLES LIKE 'binlog_row_image';

-- Should return:
-- +------------------+-------+
-- | Variable_name | Value |
-- +------------------+-------+
-- | binlog_row_image | FULL |
-- +------------------+-------+

-- Check retention in seconds
SHOW VARIABLES LIKE 'binlog_expire_logs_seconds';

Prise en charge des réplicas en lecture

Le connecteur MySQL prend en charge l'ingestion à partir de réplicas en lecture pour Azure Database for MySQL. L'utilisation d'un réplica en lecture peut réduire la charge sur votre base de données principale.

Pour utiliser une réplique en lecture :

  1. Créez un réplica en lecture de votre serveur principal dans le portail Azure.
  2. Vérifiez que le réplica de lecture a la journalisation binaire activée (hérité du serveur principal).
  3. Utilisez la chaîne de connexion du réplica en lecture lors de la création de la connexion Databricks.
remarque

Il peut y avoir un décalage de réplication entre le serveur principal et la réplique, ce qui peut affecter la fraîcheur des données. Surveiller le décalage de réplication à l'aide des indicateurs de surveillance Azure.

Configuration réseau

Assurez-vous que votre serveur Azure Database pour MySQL est accessible depuis Databricks :

  • Configurez les règles de pare-feu pour autoriser le trafic entrant provenant des plages IP de Databricks.
  • Si vous utilisez un Endpoint privé, assurez-vous d'un appairage ou d'une connectivité de réseau virtuel approprié.
  • Envisagez d'utiliser Azure Private Link pour une connectivité sécurisée.

Pour ajouter une règle de pare-feu :

  1. Dans le Portail Azure, accédez à votre serveur MySQL.
  2. Sous Paramètres , sélectionnez Réseau .
  3. Ajoutez une nouvelle règle de pare-feu avec les plages d'adresses IP Databricks.
  4. Cliquez sur Enregistrer .

Ressources supplémentaires

Un administrateur peut maintenant soit :