IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration MySQL Discussion :

Réplication Mariadb 10.3.27


Sujet :

Administration MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2020
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Transports

    Informations forums :
    Inscription : Novembre 2020
    Messages : 29
    Par défaut Réplication Mariadb 10.3.27
    Bonjour à tous

    J'ai mis en place une réplication entre plusieurs serveurs et donc réparti mes différentes bases.
    J'ai donc un master avec base1, base2 et base3.

    Sur le premier slave, j'ai base1 et base2. La réplication fonctionne très bien.
    Sur le second slave, j'ai donc mis base3. Et là, j'ai l'erreur suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    MariaDB [(none)]> show slave status\G;
    *************************** 1. row ***************************
                    Slave_IO_State: Waiting for master to send event
                       Master_Host: 192.168.0.23
                       Master_User: replica
                       Master_Port: 3306
                     Connect_Retry: 10
                   Master_Log_File: mysql-bin.000310
               Read_Master_Log_Pos: 1044134311
                    Relay_Log_File: mysqld-relay-bin.000002
                     Relay_Log_Pos: 3511885
             Relay_Master_Log_File: mysql-bin.000310
                  Slave_IO_Running: Yes
                 Slave_SQL_Running: No
                   Replicate_Do_DB:
               Replicate_Ignore_DB: base1,base2
                Replicate_Do_Table:
            Replicate_Ignore_Table:
           Replicate_Wild_Do_Table:
       Replicate_Wild_Ignore_Table:
                        Last_Errno: 1032
                        Last_Error: Could not execute Update_rows event on table base3.testor; Can't find record in 'testor', Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND; the event's master log mysql-bin.000310, end_log_pos 786074660
                      Skip_Counter: 1000000
               Exec_Master_Log_Pos: 786074133
                   Relay_Log_Space: 240784999
                   Until_Condition: None
                    Until_Log_File:
                     Until_Log_Pos: 0
                Master_SSL_Allowed: No
                Master_SSL_CA_File:
                Master_SSL_CA_Path:
                   Master_SSL_Cert:
                 Master_SSL_Cipher:
                    Master_SSL_Key:
             Seconds_Behind_Master: NULL
     Master_SSL_Verify_Server_Cert: No
                     Last_IO_Errno: 0
                     Last_IO_Error:
                    Last_SQL_Errno: 1032
                    Last_SQL_Error: Could not execute Update_rows event on table base3.testor; Can't find record in 'testor', Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND; the event's master log mysql-bin.000310, end_log_pos 786074660
       Replicate_Ignore_Server_Ids:
                  Master_Server_Id: 1
                    Master_SSL_Crl:
                Master_SSL_Crlpath:
                        Using_Gtid: No
                       Gtid_IO_Pos:
           Replicate_Do_Domain_Ids:
       Replicate_Ignore_Domain_Ids:
                     Parallel_Mode: optimistic
                         SQL_Delay: 0
               SQL_Remaining_Delay: NULL
           Slave_SQL_Running_State:
                  Slave_DDL_Groups: 0
    Slave_Non_Transactional_Groups: 0
        Slave_Transactional_Groups: 0
    1 row in set (0.000 sec)
     
    ERROR: No query specified
     
    MariaDB [(none)]>

    J'ai passé moults fois les commandes : stop slave; set global sql_slave_skip_counter=1; start slave; mais sans réussite.

    Le dump que j'ai utilisé pour base3 est de ce matin, comme celui de base1 et base2 que j'ai importé.
    J'ai lu qu'il devait y avoir une désynchronisation, mais ca n'expliquerait pas pourquoi base2 qui fait presque la même taille que base3 passe sans souci.

    Dans mon fichier /etc/mysql/my.cnf, j'ai les options suivantes :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    [mysqld]
    server-id              = 2
    log_bin                = /var/log/mysql/mysql-bin.log
    skip-log-bin
    expire_logs_days        = 4
    max_binlog_size        = 100M
    #binlog_do_db           = base3
    binlog_ignore_db       = base1
    binlog_ignore_db       = base2
    slave_parallel_threads=2
    slave_parallel_mode=optimistic

    (j'avais avant modif les options
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    replicate_ignore_db=base1
    replicate_ignore_db=base2
    )

    => quelle est la différence d'ailleurs entre binlog_do_db et replicate_do_db ? Sachant que côté master, j'ai l'option binlog_do_db.

    J'ai en plus une centaine de fichier de type mysqld-relay-bin.000***. est-ce dû aux multiples set global sql_slave_skip_counter=1 que j'ai lancé (en mode bourrin via une boucle...)


    Je suis vraiment bloqué sur cette base et là, je ne comprends plus rien.

    Si quelqu'un a une idée, je suis preneur.

    Merci d'avance

  2. #2
    Membre très actif
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    731
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 731
    Par défaut
    Bonjour,

    Quelle est la commande lancée sur le 2ème slave ...?

    A+

  3. #3
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2020
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Transports

    Informations forums :
    Inscription : Novembre 2020
    Messages : 29
    Par défaut
    Bonjour
    Qu'entends tu par commande ?
    Il s'agit juste d'une réplication avec des INSERT et UPDATE comme sur le premier slave.

  4. #4
    Membre très actif
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    731
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 731
    Par défaut
    Ah Ok j'ai pensé à une archi MASTER => SLAVE

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CHANGE MASTER TO
    MASTER_HOST='serveur_master.tld',
    MASTER_USER='repl',
    MASTER_PASSWORD='passwd',
    MASTER_LOG_FILE='mysql-bin.xxxxxxx',
    MASTER_LOG_POS=xxx;
    start slave;
    A+

  5. #5
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2020
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Transports

    Informations forums :
    Inscription : Novembre 2020
    Messages : 29
    Par défaut
    J'ai bien appliqué ce "CHANGE MASTER" etc sur les deux slaves. Même user replica, même mot de passe. Deux bases sur le premier, une seule sur le second.

    Pour le premier , c'est nickel. Mais pas pour le second.

    Je tourne en rond ....

  6. #6
    Membre très actif
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    731
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 731
    Par défaut
    T as bien renseigné MASTER_LOG_POS ? lors de la réinitialisation de second slave ?

    A+

Discussions similaires

  1. Réplications Mysql/Mariadb - Cloud
    Par axxyss dans le forum Administration
    Réponses: 3
    Dernier message: 20/02/2020, 14h03
  2. Solution de réplication...
    Par jeremos dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 09/07/2004, 16h07
  3. Problème réplication SQL Server et SQL Server CE (RDA)
    Par didix11 dans le forum Réplications
    Réponses: 2
    Dernier message: 15/04/2004, 11h10
  4. Générer règles de conflits pour réplication
    Par dupin40 dans le forum Administration
    Réponses: 3
    Dernier message: 01/09/2003, 15h31
  5. [Concept] Réplication
    Par melinda dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 31/03/2003, 17h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo