Maison  >  Article  >  base de données  >  Comment puis-je répliquer les opérations qui se produisent dans les procédures et fonctions stockées ?

Comment puis-je répliquer les opérations qui se produisent dans les procédures et fonctions stockées ?

PHPz
PHPzavant
2023-09-07 11:57:021445parcourir

Comment puis-je répliquer les opérations qui se produisent dans les procédures et fonctions stockées ?

En fait, les opérations standards effectuées dans les procédures et fonctions stockées sont répliquées du serveur MySQL maître vers le serveur MySQL esclave. Même la création de procédures stockées et de fonctions exécutées via des instructions DDL normales sur le serveur MySQL maître sera répliquée sur le serveur MySQL esclave. De cette façon, l'objet existera sur les deux serveurs en même temps.

Les opérations qui se produisent dans les procédures et fonctions stockées sont répliquées car MySQL enregistre chaque événement DDL qui se produit dans les procédures et fonctions stockées. Une fois l'événement enregistré, il est répliqué sur le serveur MySQL esclave. Mais les appels réels qui exécutent la procédure stockée ne sont pas copiés. Voici un exemple où la procédure CALL n'est pas répliquée puisqu'il s'agit en fait de celle du serveur MySQL principal.

Exemple

mysql> Delimiter //
mysql> CREATE PROCEDURE myproc()
    -> BEGIN
    -> DELETE FROM mytable LIMIT 1;
    -> END //

Maintenant, lorsque nous appelons cette procédure sur le serveur MySQL principal, elle ne sera pas répliquée.

mysql> Delimiter ;
mysql> CALL myproc();

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer