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.
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!