Change the Existing Topology of a MySQL Replication Setup I want to be able to edit the topology of an existing replication, is that possible?

For example if I have a star topology, I want to edit it to make it a ring one.
How can I do that?

I'm thinking maybe first I need to reset all masters and servers. If I have the following topology:

    a -&gt; b
    b -&gt; c
    c -&gt; a


and I want to transform it to:

    a -&gt; c
    b -&gt; c


I tried change master but it didn't work well because the old topology still exists.
Based strictly on your question, the topology you want is not possible.  Why?

Here is what you presented (call it Topology#1)

    a -&gt; b
    b -&gt; c
    c -&gt; a


and you want it to be (call it Topology#2)

    a -&gt; c
    b -&gt; c


Since ServerC cannot execute CHANGE MASTER TO with multiple host/port combinations, Topology#2 is mechanically impossible.

I have addressed this as to why IT IS NOT POSSIBLE:


Feb 03, 2012 : One slave, multiple masters MySql
May 15, 2011 : Is Multi Master Single Slave possible in mySQL DB? (My ServerFault Post)


Now, it you want to turn Topology#1 into this (call it Topology#3)

    a -&gt; b
    a -&gt; c


this is quite possible. Here are the steps:

STEP01) On ServerB, run STOP SLAVE;

STEP02) On ServerC, run SHOW SLAVE STATUS\G and check to make sure Exec_Master_Log_Pos is no longer updating.

STEP03) On ServerB, run SHOW SLAVE STATUS\G.

STEP04) Record Relay_Master_Log_File (call it RMLF) and Exec_Master_Log_Pos (call it EMLP) from STEP03 (For the sake of example, let RLMF='mysql-bin.000345' and EMLP=98765)

STEP05) On ServerC, run the following (Using RMLF and EMLP from STEP04):

STOP SLAVE;
CHANGE MASTER TO
master_log_file='mysql-bin.000345',
master_log_pos=98765;`
START SLAVE;


STEP07) On ServerB, run START SLAVE;

STEP08) On ServerA, run STOP SLAVE;

Going forward, have all INSERTs, UPDATEs, and DELETEs occur on ServerA only.