include/master-slave.inc [connection master] connection master; DROP PROCEDURE IF EXISTS test.p1; DROP PROCEDURE IF EXISTS test.p2; DROP TABLE IF EXISTS test.t1; CREATE TABLE test.t1(a INT,PRIMARY KEY(a))ENGINE=INNODB; CREATE PROCEDURE test.p1() BEGIN INSERT INTO test.t1 VALUES (4); SELECT get_lock("test", 100); UPDATE test.t1 set a=a+4 WHERE a=4; END| CREATE PROCEDURE test.p2() BEGIN UPDATE test.t1 SET a=a+1; END| SELECT get_lock("test", 200); get_lock("test", 200) 1 connection master1; CALL test.p1(); connection master; CALL test.p2(); SELECT release_lock("test"); release_lock("test") 1 connection master1; get_lock("test", 100) 1 SELECT release_lock("test"); release_lock("test") 1 connection master; SELECT * FROM test.t1; a 5 connection slave; connection slave; SELECT * FROM test.t1; a 5 connection master; DROP TABLE IF EXISTS test.t1; CREATE TABLE test.t1(a INT,PRIMARY KEY(a))ENGINE=INNODB; CALL test.p2(); CALL test.p1(); get_lock("test", 100) 1 SELECT release_lock("test"); release_lock("test") 1 SELECT * FROM test.t1; a 8 connection slave; connection slave; SELECT * FROM test.t1; a 8 connection master; DROP PROCEDURE IF EXISTS test.p1; DROP PROCEDURE IF EXISTS test.p2; DROP TABLE IF EXISTS test.t1; connection slave; include/rpl_end.inc