web-dev-qa-db-fra.com

La réplication Mysql est activée mais bloquée sur "en attente de mise à jour du journal des connexions"

J'ai configuré la réplication entre une base de données existante (id-serveur = 23) et une nouvelle (id-serveur = 51).

J'ai suivi les étapes de cette question de stackoverflow , mais la réplication ne se produit pas.

Sur le maître:

State: Has sent all binlog to slave; waiting for binlog to be updated

Lorsque je montre des hôtes esclaves:

+-----------+------+------+-------------------+-----------+
| Server_id | Host | Port | Rpl_recovery_rank | Master_id |
+-----------+------+------+-------------------+-----------+
|        51 |      | 3306 |                 0 |        23 |
+-----------+------+------+-------------------+-----------+
1 row in set (0.01 sec)

Sur l'esclave:

State: Slave has read all relay log; waiting for the slave I/O thread to update it

afficher le statut d'esclave

           Slave_IO_State: Waiting for master to send event
 ...snip...
         Master_Log_File: mysql-bin.000001
      Read_Master_Log_Pos: 98
           Relay_Log_File: mysqld-relay-bin.000002
            Relay_Log_Pos: 244
    Relay_Master_Log_File: mysql-bin.000001
         Slave_IO_Running: Yes
        Slave_SQL_Running: Yes

Y a-t-il quelque chose que je dois faire pour obtenir la réplication?

8
chris

La réplication MySQL fonctionne très bien. Comment puis-je savoir ?

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

Cela indique que les deux threads de réplication sont actifs.

Pour vérifier cela, exécutez ce qui suit sur l'esclave:

SELECT COUNT(1) ReplicationThreadCount FROM information_schema.processlist
WHERE user = 'system user';

Si ReplicationThreadCount> 1, la réplication fonctionne très bien.

Vous pouvez également exécuter SHOW PROCESSLIST; et recherchez deux connexions dont l'utilisateur est system user

Les deux états que vous avez mentionnés pour le maître et l'esclave sont normaux pour un état de réplication en cours d'exécution

Lorsque vous ajoutez des données au maître, vous pouvez savoir que les données arrivent à l'esclave en regardant

  • Read_Master_Log_Pos
  • Exec_Master_Log_Pos
  • Relay_Log_Space

dans la sortie de SHOW SLAVE STATUS\G. Ces chiffres vont changer, ce qui indique son fonctionnement.

8
RolandoMySQLDBA