Mysql thinks Master & Slave have the same server-id
The server_id of the Master is recorded in its binary logs along with each query it executed to completion. To see those server_id values in the binary log, you run mysqlbinlog against any binary log.

Since Master -> Slave_A works fine, here is what you can do to clean things up between Slave_A and Slave_B:

On Slave_A, run the following in mysql:

mysql&gt; STOP SLAVE;
mysql&gt; RESET MASTER;


On Slave_A, run the following in the OS:

$ echo "STOP SLAVE;" &gt; /root/MyData.sql
$ mysqldump -u... -p... --master-data=1 --routines --triggers --all-databases &gt;&gt; /root/MyData.sql
$ echo "START SLAVE;" &gt;&gt; /root/MyData.sql
$ mysql -hSlave_B -u... -p... -A &lt; /root/MyData.sql


On Slave_A, run the following in mysql:

mysql&gt; START SLAVE;


This will get Slave_B to stare at the correct values for server_id, and also reestablish MySQL Replication.

BTW You need to make sure binary logging is disabled on Slave_B since it is not necessary for a Slave unless Slave_B is going to a Master to some other Slave.