Cette rubrique explique comment activer la journalisation binaire pour un cluster PolarDB.
Informations générales
PolarDB est une base de données cloud-native entièrement compatible avec MySQL. Par défaut, elle utilise des journaux physiques de niveau supérieur plutôt que des journaux binaires. Pour une meilleure intégration à l'écosystème MySQL, PolarDB permet d'activer manuellement la journalisation binaire. Une fois activée, vous pouvez connecter le cluster à des services de données tels qu'ElasticSearch et AnalyticDB, et configurer une synchronisation de données en temps réel de PolarDB vers RDS, de RDS vers PolarDB ou entre clusters PolarDB.
Limites
Si votre cluster PolarDB a été créé après le 5 avril 2019, vous pouvez activer directement la journalisation binaire. Si votre cluster PolarDB a été créé avant le 5 avril 2019, vous devez d'abord mettre à niveau la version mineure de votre cluster vers la dernière version disponible avant d'activer la journalisation binaire. Pour plus d'informations sur la mise à niveau de la version mineure, consultez la rubrique Gestion des versions mineures.
Facturation
Les fichiers de journaux binaires occupent une partie de l'espace de stockage du cluster, ce qui engendre des frais de stockage. Vous pouvez ajuster l'espace utilisé par ces fichiers en définissant leur période de rétention.
Exemples de facturation
Abonnement
Si votre cluster utilise déjà un type de stockage basé sur un abonnement, aucun frais supplémentaire n'est appliqué tant que l'espace de stockage est suffisant.

Paiement à l'utilisation
Si votre cluster utilise déjà un type de stockage en paiement à l'utilisation, l'espace des journaux binaires est facturé uniquement selon l'espace de stockage réellement occupé par les données.

Remarques d'utilisation
La journalisation binaire est désactivée par défaut. Après son activation, le cluster redémarre automatiquement. Le redémarrage prend généralement moins de 5 minutes. Pendant cette opération, les services subissent une interruption transitoire d'environ 40 secondes. La durée exacte dépend du volume de données et du nombre de tables. Nous vous recommandons d'effectuer cette opération pendant les heures creuses et de vérifier que vos applications disposent d'un mécanisme de reconnexion.
Une fois la journalisation binaire activée, les performances en écriture diminuent, tandis que les performances en lecture restent inchangées. Dans la plupart des cas, l'impact sur les performances ne dépasse pas 10 %. Sous une charge extrême, l'impact peut atteindre 40 %. Pour plus d'informations, consultez la section FAQ.
Lors de l'extraction, de l'abonnement ou de la synchronisation des journaux binaires (par exemple, à l'aide d'outils tels que DTS), nous vous recommandons d'utiliser le Primary Endpoint de PolarDB, car il pointe directement vers le nœud principal qui génère les journaux binaires, offrant ainsi une meilleure compatibilité et stabilité. Pour plus d'informations sur la consultation du Primary Endpoint, consultez la rubrique Afficher les endpoints et les ports.
Après l'activation de la journalisation binaire, la soumission d'une transaction trop volumineuse bloque la soumission des autres transactions et peut affecter la durée du redémarrage et du changement de spécifications du cluster.
-
Le paramètre loose_polar_log_bin décrit dans cette rubrique est un paramètre global. Pour utiliser la journalisation binaire au niveau de la session, vous devez activer le paramètre sql_log_bin.
RemarqueLe paramètre sql_log_bin contrôle l'activation de la journalisation binaire au niveau de la session. Par défaut, ce paramètre est désactivé. Pour l'activer, accédez au Quota Center. Dans la ligne où le nom du quota est polardb sql_log_bin parameter permission, dans la colonne Actions, cliquez sur Apply pour l'activer.
Si vous utilisez DTS pour migrer de RDS vers PolarDB, la journalisation binaire est automatiquement activée.
Les journaux binaires enregistrent uniquement les modifications de données intervenues après l'activation de la journalisation binaire. Les opérations INSERT, DELETE et UPDATE effectuées avant l'activation ne sont pas enregistrées dans les fichiers de journaux binaires.
Activer la journalisation binaire
Activer la journalisation binaire lors de l'achat d'un nouveau cluster
Lors de la création d'un cluster, cochez la case Enable Binary Logging dans la section Cluster Configurations. Pour plus d'informations, consultez les rubriques Achat personnalisé et Acheter un cluster par abonnement.
Activer la journalisation binaire pour les clusters existants
Après l'activation de la journalisation binaire, le cluster redémarre automatiquement. Le redémarrage prend moins de 5 minutes. Pendant cette opération, les services subissent une interruption transitoire d'environ 40 secondes. La durée exacte dépend du volume de données et du nombre de tables. Nous vous recommandons d'effectuer cette opération pendant les heures creuses et de vérifier que vos applications disposent d'un mécanisme de reconnexion.
Connectez-vous à la console PolarDB. Dans le volet de navigation de gauche, cliquez sur Clusters. Sélectionnez la Region où le cluster est déployé, puis cliquez sur l'ID du cluster pour accéder à la page des détails du cluster.
-
Activez la journalisation binaire en utilisant l'une des méthodes suivantes :
-
Méthode 1 :
Accédez à la page Binary Logs du cluster.
Cliquez sur Enable Now.
-
Dans la boîte de dialogue Enable Binary Logging, définissez le moment d'application sur Now ou Scheduled.
RemarqueSi vous sélectionnez Scheduled, spécifiez le moment d'application.
Cliquez sur OK.
-
Méthode 2 : Activez la journalisation binaire en définissant le paramètre loose_polar_log_bin.
Dans le volet de navigation de gauche, choisissez .
-
Recherchez le paramètre loose_polar_log_bin et modifiez sa valeur. Pour plus d'informations, consultez la rubrique Modifier les valeurs des paramètres.
RemarqueSi la version de votre cluster PolarDB for MySQL est MySQL 5.6, remplacez la valeur actuelle par ON_WITH_GTID ;
Si la version de votre cluster PolarDB for MySQL est MySQL 5.7 ou MySQL 8.0, remplacez la valeur actuelle par ON.
-
Désactiver la journalisation binaire
Connectez-vous à la console PolarDB. Dans le volet de navigation de gauche, cliquez sur Clusters. Sélectionnez la Region où le cluster est déployé, puis cliquez sur l'ID du cluster pour accéder à la page des détails du cluster.
-
Désactivez la journalisation binaire en utilisant l'une des méthodes suivantes :
-
Méthode 1 :
Accédez à la page Binary Logs du cluster.
Cliquez sur Disable Binary Logging.
-
Dans la boîte de dialogue Disable Binary Logging, définissez le moment d'application sur Now ou Scheduled. Vous pouvez choisir de sélectionner ou non Clear Local Binary Logs.
RemarqueSi vous sélectionnez Scheduled, spécifiez le moment d'application.
Cliquez sur OK.
-
Méthode 2 : Désactivez la journalisation binaire en définissant le paramètre loose_polar_log_bin.
Dans le volet de navigation de gauche, choisissez .
-
Recherchez le paramètre loose_polar_log_bin et modifiez sa valeur. Pour plus d'informations, consultez la rubrique Modifier les valeurs des paramètres.
RemarqueSi la version de votre cluster PolarDB for MySQL est MySQL 5.6, remplacez la valeur actuelle par OFF_WITH_GTID ;
Si la version de votre cluster PolarDB for MySQL est MySQL 5.7 ou MySQL 8.0, remplacez la valeur actuelle par OFF.
Après la désactivation de la journalisation binaire, les fichiers de journaux binaires existants sont conservés. Nous vous recommandons de réduire d'abord la période de rétention des journaux binaires, d'attendre la suppression automatique des fichiers inutiles, puis de désactiver la journalisation binaire.
-
Période de rétention des journaux binaires
Politiques de rétention
Les fichiers de journaux binaires sont soumis aux deux politiques de rétention suivantes :
-
Après l'activation de la journalisation binaire, les fichiers de journaux binaires sont conservés par défaut pendant 3 jours. Les fichiers de journaux binaires âgés de plus de 3 jours sont automatiquement supprimés.
RemarquePour les clusters PolarDB for MySQL achetés avant le 23 novembre 2023, les fichiers de journaux binaires sont conservés par défaut pendant deux semaines (14 jours).
Pour les clusters PolarDB for MySQL achetés avant le 17 janvier 2024, les fichiers de journaux binaires sont conservés par défaut pendant une semaine (7 jours).
Après la désactivation de la journalisation binaire, les fichiers de journaux binaires existants sont conservés et ne sont pas automatiquement supprimés.
Modifier la période de rétention
La modification de la période de rétention des journaux binaires n'entraîne pas d'interruptions transitoires et ne nécessite pas de redémarrage du cluster.
Toutefois, si la modification de la période de rétention entraîne la suppression d'un grand volume de fichiers de journaux binaires (par exemple, 10 To), des exceptions d'écriture de base de données peuvent se produire temporairement pendant le nettoyage. Par conséquent, lorsque les fichiers de journaux binaires sont volumineux, nous vous recommandons d'effectuer cette opération pendant les heures creuses et de réduire la période de rétention par étapes, en supprimant une partie des données de journaux binaires à chaque fois.
Les fichiers de journaux binaires supprimés ne peuvent pas être récupérés.
-
Si la journalisation binaire est activée pour votre cluster, vous pouvez modifier la période de rétention des journaux binaires en utilisant l'une des méthodes suivantes :
Si la version du cluster est PolarDB for MySQL 5,6, vous pouvez modifier le paramètre loose_expire_logs_hours (plage de valeurs : 0 à 2376, unité : heures, valeur par défaut : 72) pour définir la période de rétention des journaux binaires. Une valeur de 0 signifie que les fichiers de journaux binaires ne sont pas automatiquement supprimés. Pour plus d'informations sur la configuration des paramètres, consultez la rubrique Modifier les valeurs des paramètres.
-
Si la version du cluster est PolarDB for MySQL 5,7 ou 8,0, vous pouvez modifier le paramètre binlog_expire_logs_seconds (plage de valeurs : 0 à 4294967295, unité : secondes, valeur par défaut : 259200) pour définir la période de rétention des journaux binaires. Une valeur de 0 signifie que les fichiers de journaux binaires ne sont pas automatiquement supprimés. Pour plus d'informations sur la configuration des paramètres, consultez la rubrique Modifier les valeurs des paramètres.
ImportantAprès avoir modifié les valeurs de ces deux paramètres pour définir la période de rétention des journaux binaires, les fichiers de journaux binaires existants dans le cluster ne sont pas immédiatement supprimés. Pour supprimer les fichiers de journaux binaires existants, utilisez l'une des méthodes suivantes :
Lorsque le dernier fichier de journal binaire du cluster atteint la taille
max_binlog_size, le système bascule vers un nouveau fichier de journal binaire et ces fichiers de journaux binaires existants sont automatiquement supprimés.Utilisez un compte privilégié pour exécuter la commande flush binary logs afin de déclencher immédiatement un basculement de fichier de journal binaire et de supprimer les fichiers de journaux binaires expirés.
Vous pouvez également redémarrer le cluster. Après le redémarrage, les fichiers de journaux binaires existants sont automatiquement supprimés.
Si la journalisation binaire n'est pas activée pour votre cluster et que vous souhaitez supprimer les fichiers de journaux binaires, vous pouvez activer la journalisation binaire, définir le paramètre de période de rétention des journaux binaires (loose_expire_logs_hours ou binlog_expire_logs_seconds) sur une valeur faible, attendre la suppression automatique des fichiers à l'expiration de la période de rétention, puis désactiver la journalisation binaire.
Obtenir et afficher les journaux binaires
Vous pouvez utiliser l'outil mysqlbinlog pour afficher et analyser les journaux binaires. Pour plus d'informations, consultez la rubrique Obtenir et analyser à distance les fichiers de journaux binaires d'un cluster PolarDB for MySQL.
FAQ
-
Q : Quelle est la durée de rétention des fichiers de journaux binaires ?
R : Si la journalisation binaire est activée pour votre cluster, les fichiers de journaux binaires sont conservés par défaut pendant 3 jours. Les fichiers de journaux binaires âgés de plus de 3 jours sont automatiquement supprimés.
RemarquePour les clusters PolarDB for MySQL achetés avant le 23 novembre 2023, les fichiers de journaux binaires sont conservés par défaut pendant deux semaines (14 jours).
Pour les clusters PolarDB for MySQL achetés avant le 17 janvier 2024, les fichiers de journaux binaires sont conservés par défaut pendant une semaine (7 jours).
Si la journalisation binaire est désactivée pour votre cluster, les fichiers de journaux binaires existants sont conservés et ne sont pas automatiquement supprimés.
RemarqueVous pouvez modifier la période de rétention des journaux binaires pour les clusters dont la journalisation binaire est activée en modifiant les paramètres. Pour plus d'informations, consultez la section Période de rétention des journaux binaires.
-
Q : Que signifie le message d'erreur
Could not find first log file name in binary log index file?R :
Could not find first log file name in binary log index fileCe message d'erreur indique que les journaux binaires ont été nettoyés. Les journaux binaires supprimés ne peuvent pas être récupérés. -
Q : Puis-je désactiver la journalisation binaire après l'avoir activée ?
R : Définissez le paramètre loose_polar_log_bin sur OFF et soumettez la modification.
RemarqueAprès la désactivation de la journalisation binaire, les fichiers de journaux binaires existants sont conservés. Vous pouvez réduire d'abord la période de rétention des journaux binaires, attendre la suppression automatique des fichiers inutiles, puis désactiver la journalisation binaire.
-
Q : Comment réduire l'espace de stockage occupé par les journaux binaires ?
R : Vous pouvez définir le paramètre de période de rétention des journaux binaires (loose_expire_logs_hours ou binlog_expire_logs_seconds) sur une valeur faible pour réduire l'espace de stockage occupé par les fichiers de journaux binaires.
-
Q : Quel est l'impact de l'activation de la journalisation binaire sur les performances ?
R : L'activation de la journalisation binaire n'affecte pas les performances des requêtes (SELECT). Elle n'affecte que les performances en écriture et en mise à jour (INSERT, UPDATE, DELETE, etc.). Dans la plupart des cas, l'impact sur les performances ne dépasse pas 10 %. Sous une charge extrême, l'impact peut atteindre 40 %.
-
Q : Après l'activation de la journalisation binaire, le cluster redémarre automatiquement. Combien de temps dure le redémarrage ?
R : En général, le redémarrage prend moins de 5 minutes. Pendant cette opération, les services subissent une interruption transitoire d'environ 40 secondes. La durée exacte dépend du volume de données et du nombre de tables. Nous vous recommandons d'effectuer cette opération pendant les heures creuses et de vérifier que vos applications disposent d'un mécanisme de reconnexion.
-
Q : Comment obtenir et afficher à distance le contenu des journaux binaires ?
R : Pour plus d'informations, consultez la rubrique Obtenir et analyser à distance les fichiers de journaux binaires d'un cluster PolarDB for MySQL.
-
Q : Pourquoi ne puis-je pas utiliser la fonctionnalité Effectuer des modifications de schéma sans verrou à l'aide de tickets de modification sans verrou de DMS pour effectuer des modifications de schéma, telles que l'ajout d'index, sur les clusters PolarDB for MySQL ?
R : La journalisation binaire est désactivée par défaut pour les clusters PolarDB for MySQL. Pour utiliser la fonctionnalité de modification de schéma sans verrou de DMS, activez d'abord la journalisation binaire pour votre cluster PolarDB for MySQL. Si vous ne souhaitez pas activer la journalisation binaire, vous pouvez également utiliser les commandes DDL en ligne pour modifier le schéma de la table.
-
Q : Puis-je utiliser canal pour capturer les modifications MySQL après l'activation de la journalisation binaire ?
R : Oui, vous pouvez utiliser canal pour capturer les modifications MySQL.
-
Q : L'exécution de l'instruction
SHOW BINARY LOGSpour interroger la taille des fichiers de journaux binaires affecte-t-elle les performances du cluster ?R : Non. L'instruction
SHOW BINARY LOGSest une opération de gestion et n'a pratiquement aucun impact sur les performances du cluster. Elle n'affecte pas directement les performances en lecture et en écriture de la base de données comme le font les opérations d'écriture de données (telles que INSERT, UPDATE et DELETE). Vous pouvez donc utiliser cette commande en toute confiance. -
Q : Comment interroger la dernière heure d'écriture des journaux binaires dans PolarDB for MySQL ?
R : Utilisez l'instruction
show full binary logspour afficher le nom, la taille et la dernière heure d'écriture de tous les fichiers de journaux binaires.RemarqueCette fonctionnalité est prise en charge pour les clusters PolarDB for MySQL répondant aux exigences suivantes :
MySQL 8.0.2, avec une version mineure 8.0.2.2.0 ou ultérieure.
MySQL 8.0.1, avec une version mineure 8.0.1.1.14 ou ultérieure.
MySQL 5.7, avec une version mineure 5.7.1.0.27 ou ultérieure.
MySQL 5.6, avec une version mineure 5.6.1.0.38 ou ultérieure.
-
Q : Comment afficher le contenu des journaux binaires à un moment précis dans PolarDB for MySQL ?
R : Vous ne pouvez pas spécifier directement une heure pour sauvegarder les données. Vous pouvez d'abord effectuer une restauration à un instant donné, puis analyser les journaux binaires pour afficher le contenu.