Tous les produits
Search
Centre de documentation

Data Transmission Service:Créer un compte pour une base de données MySQL auto-gérée et configurer la journalisation binaire

Dernière mise à jour :Aug 10, 2026

Avant d'utiliser une base de données MySQL auto-gérée comme source DTS, créez un compte de base de données et activez la journalisation binaire. Ces deux éléments sont requis pour réussir la pré-vérification d'une migration incrémentielle, d'une synchronisation ou d'un suivi des modifications.

Prérequis

  • MySQL 5,6 ou version ultérieure

  • Accès au fichier de configuration MySQL (my.cnf sous Linux, my.ini sous Windows)

  • Privilèges root ou administrateur sur le serveur MySQL

  • Possibilité de redémarrer le service MySQL

Autorisations requises

DTS nécessite les autorisations suivantes pour la migration incrémentielle, la synchronisation et le suivi des modifications :

Autorisation

Objectif

SELECT

Lire les données des objets à migrer, synchroniser ou suivre

REPLICATION CLIENT

Lire la position du journal binaire

REPLICATION SLAVE

Lire les événements du journal binaire

SHOW VIEW

Lire les définitions des vues

CREATE sur *.*

Créer une base de données nommée test pour faire avancer la position du journal binaire

Étape 1 : Créer le compte de base de données

  1. Connectez-vous à la base de données MySQL auto-gérée.

  2. Créez un compte dédié pour DTS.

    CREATE USER 'username'@'host' IDENTIFIED BY 'password';

    Paramètre

    Description

    username

    Nom du compte à créer

    host

    Hôte autorisé pour la connexion. Utilisez % pour n'importe quel hôte.

    password

    Mot de passe du compte

  3. Accordez les autorisations requises.

    Accordez des autorisations sur les bases de données et les tables à migrer :

    GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;

    Accordez l'autorisation CREATE :

    GRANT CREATE ON *.* TO 'username'@'host' WITH GRANT OPTION;

    Paramètre

    Description

    privileges

    SELECT, INSERT, UPDATE ou ALL

    databasename

    Nom de la base de données. Utilisez * pour toutes les bases de données.

    tablename

    Nom de la table. Utilisez * pour toutes les tables.

    username

    Compte auquel accorder les autorisations

    host

    Hôte autorisé pour la connexion. Utilisez % pour n'importe quel hôte.

    WITH GRANT OPTION

    Facultatif. Permet au compte d'accorder des autorisations à d'autres utilisateurs.

    Exemple : Créez un compte dtsmigration avec des autorisations complètes :

    CREATE USER 'dtsmigration'@'%' IDENTIFIED BY 'Dts123456';
    GRANT ALL ON *.* TO 'dtsmigration'@'%';
  4. Vérifiez les autorisations du compte.

    SHOW GRANTS FOR 'dtsmigration'@'%';

    La sortie doit inclure GRANT ALL PRIVILEGES ON *.* TO 'dtsmigration'@'%'.

Étape 2 : Configurer la journalisation binaire

Important

Les modifications de la journalisation binaire nécessitent un redémarrage de MySQL. Planifiez cette opération pendant les heures creuses.

Paramètres de journalisation binaire

Paramètre

Valeur requise

Description

log_bin

mysql_bin

Active la journalisation binaire et définit le préfixe du fichier journal.

binlog_format

row

Enregistre les modifications au niveau des lignes. Les formats STATEMENT et MIXED peuvent entraîner des incohérences de données.

server_id

Entier supérieur à 1 (exemple : 2)

Identifiant unique du serveur dans une topologie de réplication.

binlog_row_image

full

Journalise les images complètes avant et après de chaque ligne. Requis pour les versions de MySQL supérieures à 5,6.

expire_logs_days

7 ou plus

Rétention des journaux en jours. Uniquement pour les versions de MySQL antérieures à 8,0. Valeur par défaut : 0 (aucune expiration). Obsolète dans MySQL 8,0.

binlog_expire_logs_seconds

604800 ou plus

Rétention des journaux en secondes. Uniquement pour MySQL 8,0 et versions ultérieures. Valeur par défaut : 2592000 (30 jours).

log_slave_updates

ON

Journalise les événements répliqués dans le journal binaire local. Requis uniquement pour les clusters à double primaire.

Modifier le fichier de configuration

  1. Ouvrez le fichier de configuration MySQL.

    • Linux : Modifiez my.cnf avec vim ou un autre éditeur.

      vim /path/to/my.cnf
      Remarque

      L'emplacement de my.cnf varie selon la distribution. Chemins courants : /etc/my.cnf, /etc/mysql/my.cnf, /etc/mysql/mysql.conf.d/mysqld.cnf.

    • Windows : Ouvrez my.ini dans un éditeur de texte.

  2. Ajoutez ou modifiez ces paramètres dans la section [mysqld] :

    log_bin=mysql_bin
    binlog_format=row
    server_id=2
    binlog_row_image=full
  3. Définissez la période de rétention du journal binaire.

    MySQL 5,7 et versions antérieures :

    expire_logs_days=7
    Remarque

    expire_logs_days est obsolète dans MySQL 8,0 et versions ultérieures.

    MySQL 8,0 et versions ultérieures :

    binlog_expire_logs_seconds=604800
  4. (Facultatif) Pour les déploiements de clusters à double primaire, ajoutez :

    log_slave_updates=ON
  5. Redémarrez le service MySQL.

    • Linux :

      /etc/init.d/mysqld restart
    • Windows : Utilisez le Gestionnaire de services ou exécutez :

      net stop mysql
      net start mysql

Vérifier la journalisation binaire

Après le redémarrage, connectez-vous à MySQL et vérifiez les paramètres :

SHOW VARIABLES LIKE 'log_bin';
-- Expected: log_bin | ON

SHOW VARIABLES LIKE 'binlog_format';
-- Expected: binlog_format | ROW

SHOW VARIABLES LIKE 'binlog_row_image';
-- Expected: binlog_row_image | FULL

SHOW VARIABLES LIKE 'server_id';
-- Expected: server_id | <integer greater than 1>