Quando você tem uma replicação baseada em instrução MySQL e cria um procedimento armazenado que modifica algumas linhas (comandos INSERT, UPDATE, DELETE...), o que é realmente replicado no escravo quando você chama esse procedimento no mestre? O próprio CALL ou os comandos (INSERT, UPDATE, DELETE...) dentro do procedimento ?
Por exemplo, crie tal procedimento:
delimiter |
CREATE PROCEDURE myproc ()
BEGIN
DELETE FROM mytable LIMIT 1;
END |
delimiter ;
Então chame o mestre:
master> CALL myproc();
=> ele replica "CALL myproc()" ou "DELETE FROM mytable LIMIT 1"?
Resumindo, não, sua CALL não é replicada
Você pode dar uma olhada no FAQ a partir de B.4.22 e no Registro Binário de Programas Armazenados
B.4.23: Stored procedures e funções criadas em um servidor mestre são replicadas para um escravo?
B.4.24: Como as ações que ocorrem dentro de stored procedures e funções são replicadas?