PolarDB for MySQL utilise des journaux de reprise (redo logs), plus avancés que les journaux binaires. La journalisation binaire est désactivée par défaut. Activez-la pour assurer la compatibilité avec l'écosystème MySQL, par exemple afin de répliquer des données via Data Transmission Service (DTS), de diffuser des modifications vers Elasticsearch ou AnalyticDB, ou de synchroniser des données entre clusters.
Cas d'usage
Réplication des données : Synchronisez des données d'un cluster PolarDB for MySQL vers une instance ApsaraDB RDS for MySQL, d'une instance ApsaraDB RDS for MySQL vers un cluster PolarDB for MySQL ou entre clusters PolarDB for MySQL.
Intégration à l'écosystème : Connectez-vous à Elasticsearch ou AnalyticDB pour l'analyse et la recherche.
Limites
Les clusters créés avant le 5 avril 2019 doivent passer à la dernière version mineure avant l'activation de la journalisation binaire. Pour plus d'informations, consultez Gestion des versions de révision. Les clusters créés à partir de cette date prennent en charge nativement la journalisation binaire.
Facturation
Les journaux binaires consomment de l'espace de stockage du cluster, facturé au tarif de stockage applicable.
| Mode de facturation du stockage | Comportement de facturation |
|---|---|
| Abonnement | Aucun frais supplémentaire tant que le stockage total reste inférieur à la capacité achetée |
| Paiement à l'utilisation | Facturation basée sur le stockage réel occupé par les journaux binaires |
Impact sur les performances
La journalisation binaire affecte uniquement les opérations d'écriture (INSERT, UPDATE, DELETE) ; elle n'impacte pas les performances en lecture. L'impact typique reste inférieur à 10 %, mais peut atteindre 40 % sous des charges extrêmes.
La validation de transactions volumineuses risque de bloquer d'autres transactions et de prolonger la durée des redémarrages ou des modifications de configuration.
Activer la journalisation binaire
Activation lors de la création du cluster
Sélectionnez Enable dans la section Enable Binary Logging lors de la création du cluster. Pour plus d'informations, consultez Achat personnalisé ou Acheter un cluster par abonnement.
Activation pour un cluster existant
L'activation de la journalisation binaire déclenche un redémarrage automatique du cluster. Cette opération prend généralement entre 5 et 15 minutes et entraîne une interruption de service d'environ 40 secondes. Le temps de récupération varie selon le volume de données et le nombre de tables. Exécutez cette opération pendant les heures creuses et vérifiez que votre application gère la reconnexion automatique.
Méthode 1 : Via la page Binary Logs
Connectez-vous à la console PolarDB. Dans le volet de navigation de gauche, cliquez sur Clusters. Dans le coin supérieur gauche, sélectionnez la région du cluster. Localisez le cluster concerné dans la liste, puis cliquez sur son ID pour accéder à la page Basic Information.
Dans le volet de navigation de gauche, cliquez sur Binary Logs.
Cliquez sur Enable Now.
Dans la boîte de dialogue Enable Binary Logging, définissez le paramètre Effective Mode sur Now ou Scheduled. Si vous choisissez Scheduled, spécifiez la date d'activation de la journalisation binaire.
Cliquez sur OK.
Méthode 2 : Via le paramètre loose_polar_log_bin
Connectez-vous à la console PolarDB. Dans le volet de navigation de gauche, cliquez sur Clusters. Dans le coin supérieur gauche, sélectionnez la région du cluster. Localisez le cluster concerné dans la liste, puis cliquez sur son ID pour accéder à la page Basic Information.
Dans le volet de navigation de gauche, choisissez .
-
Localisez le paramètre loose_polar_log_bin et modifiez sa valeur. Pour plus d'informations, consultez la section « Modifier les paramètres » de Configurer les paramètres du cluster et des nœuds.
Version MySQL Valeur du paramètre MySQL 5,6 ON_WITH_GTID MySQL 5,7 ou 8,0 ON
Désactiver la journalisation binaire
Méthode 1 : Via la page Binary Logs
Connectez-vous à la console PolarDB. Dans le volet de navigation de gauche, cliquez sur Clusters. Dans le coin supérieur gauche, sélectionnez la région du cluster. Localisez le cluster concerné dans la liste, puis cliquez sur son ID pour accéder à la page Basic Information.
Dans le volet de navigation de gauche, cliquez sur Binary Logs.
Cliquez sur Disable Binary Logging.
Dans la boîte de dialogue Disable Binary Logging, définissez le paramètre Effective Mode sur Now ou Scheduled. Si vous choisissez Scheduled, spécifiez la date de désactivation de la journalisation binaire. Vous pouvez également sélectionner Clear Local Binary Logs.
Cliquez sur OK.
Méthode 2 : Via le paramètre loose_polar_log_bin
Connectez-vous à la console PolarDB. Dans le volet de navigation de gauche, cliquez sur Clusters. Dans le coin supérieur gauche, sélectionnez la région du cluster. Localisez le cluster concerné dans la liste, puis cliquez sur son ID pour accéder à la page Basic Information.
Dans le volet de navigation de gauche, choisissez .
-
Localisez le paramètre loose_polar_log_bin et modifiez sa valeur. Pour plus d'informations, consultez Configurer les paramètres du cluster et des nœuds.
Version MySQL Valeur du paramètre MySQL 5,6 OFF_WITH_GTID MySQL 5,7 ou 8,0 OFF
Après la désactivation de la journalisation binaire, les fichiers de journaux binaires existants sont conservés indéfiniment. Pour libérer de l'espace de stockage, réduisez la période de rétention avant de désactiver la fonctionnalité. Attendez la purge automatique des anciens journaux, puis désactivez la journalisation binaire.
Rétention des journaux binaires
Politiques de rétention
| Condition | Rétention par défaut |
|---|---|
| Journalisation binaire activée | 3 jours |
| Journalisation binaire désactivée | Conservation indéfinie des fichiers existants |
Les fichiers de journaux binaires sont supprimés automatiquement à l'expiration de la période de rétention.
Pour un cluster PolarDB for MySQL acheté avant le 23 novembre 2023, la période de rétention par défaut des journaux binaires est de deux semaines (14 jours).
Pour un cluster PolarDB for MySQL acheté avant le 17 janvier 2024, la période de rétention par défaut des journaux binaires est d'une semaine (7 jours).
Modifier la période de rétention
La modification de la période de rétention n'interrompt pas les connexions et ne nécessite aucun redémarrage du cluster.
La purge d'un volume important de journaux binaires (par exemple 10 To) peut entraîner de brèves erreurs d'écriture. Modifiez alors la période de rétention pendant les heures creuses. Vous pouvez aussi réduire progressivement cette période pour purger les journaux par lots successifs.
Les fichiers de journaux binaires supprimés sont irrécupérables.
Modifiez l'un des paramètres suivants selon votre version de MySQL :
| Version MySQL | Paramètre | Valeurs valides | Unité | Par défaut |
|---|---|---|---|---|
| 5,6 | loose_expire_logs_hours | 0-2376 | Heures | 72 |
| 5,7 ou 8,0 | binlog_expire_logs_seconds | 0-4294967295 | Secondes | 259200 (3 jours) |
Une valeur de 0 empêche toute suppression automatique des fichiers de journaux binaires.
Pour savoir comment modifier les paramètres, consultez Configurer les paramètres du cluster et des nœuds.
Déclencher une purge immédiate
Après la modification du paramètre de rétention, les journaux historiques ne sont pas effacés immédiatement. Utilisez l'une des méthodes suivantes pour déclencher la purge :
Attendez que le fichier de journal binaire actif atteigne la taille définie par
max_binlog_size. Lors de sa rotation, tous les fichiers expirés sont supprimés automatiquement.Exécutez la commande flush binary logs avec le compte privilégié.
Redémarrez le cluster.
Supprimer les journaux binaires lorsque la journalisation est désactivée
Si la journalisation binaire est désactivée et que vous souhaitez supprimer les fichiers accumulés :
Réactivez la journalisation binaire. Consultez Activer la journalisation binaire.
Définissez loose_expire_logs_hours ou binlog_expire_logs_seconds sur une valeur inférieure.
Attendez la purge automatique des journaux expirés.
Désactivez à nouveau la journalisation binaire.
Consulter et analyser les journaux binaires
Utilisez l'outil mysqlbinlog pour récupérer et analyser les journaux binaires à distance. Pour plus d'informations, consultez Obtenir et analyser à distance les fichiers de journaux binaires d'un cluster PolarDB for MySQL.
Pour vérifier l'heure de la dernière écriture de chaque fichier de journal binaire, exécutez la commande suivante :
show full binary logs;
Cette commande retourne le nom, la taille et l'heure de la dernière écriture de chaque fichier de journal binaire.
La commande show full binary logs nécessite l'une des versions de révision minimales suivantes :
MySQL 8.0.2 : révision 8.0.2.2.0 ou ultérieure
MySQL 8.0.1 : révision 8.0.1.1.14 ou ultérieure
MySQL 5.7 : révision 5.7.1.0.27 ou ultérieure
MySQL 5.6 : révision 5.6.1.0.38 ou ultérieure
Remarques d'utilisation
Utiliser l'endpoint principal : Pour consommer des journaux binaires via DTS ou d'autres services, connectez-vous à l'Primary Endpoint de votre cluster. Cet endpoint pointe toujours vers le nœud principal qui génère les journaux binaires. Pour identifier l'endpoint principal, consultez la section « Afficher l'endpoint et le port » de Gérer les endpoints d'un cluster.
Journalisation globale ou au niveau de la session : Le paramètre loose_polar_log_bin contrôle la journalisation binaire au niveau global. Pour un contrôle au niveau de la session, utilisez le paramètre sql_log_bin (désactivé par défaut). Pour activer sql_log_bin, accédez au Centre de quotas, localisez le quota polardb SQL_log_bin parameter permissions, puis cliquez sur Apply dans la colonne Actions.
Activation automatique lors de la migration : DTS active automatiquement la journalisation binaire lors de la migration de données d'une instance ApsaraDB RDS vers un cluster PolarDB.
FAQ
Que signifie Could not find first log file name in binary log index file ?
Le fichier de journal binaire a été supprimé. Les fichiers supprimés sont irrécupérables.
Puis-je utiliser Canal pour la capture des changements de données ?
Oui. Une fois la journalisation binaire activée, Canal peut capturer les modifications de votre cluster PolarDB for MySQL.
Pourquoi ne puis-je pas exécuter d'opérations DDL sans verrouillage dans DMS ?
Les opérations DDL sans verrouillage dans Data Management Service (DMS) nécessitent l'activation de la journalisation binaire. Si vous ne souhaitez pas l'activer, utilisez plutôt le DDL en ligne.
La commande SHOW BINARY LOGS affecte-t-elle les performances du cluster ?
Non. Il s'agit d'une requête de métadonnées qui n'écrit aucune donnée. Elle n'a aucun impact mesurable sur les performances en lecture ou en écriture.
Comment consulter les journaux binaires générés à un moment précis ?
Restaurez les données à ce moment précis, puis analysez les journaux binaires de l'instance restaurée. Pour plus d'informations, consultez Restauration de bases de données et de tables : Restaurer les données à un point antérieur dans le temps.