Currently have a MySQL replication setup in which Master A is replicated on another server db Slave B.
I'm shutting down the server that hosts Master A and need to start a new server that houses Master C that will be the replacement for Master A and maintaining all the data.
Slave B will then need to replicate from Master C. Master A will then be deleted.
How do I make this change with minimal or no downtime?
From your comments, here's a way to minimize downtime with your setup.
Step 1: Set up the new master server as a slave to your old master.
Step 2: Allow Slave C to catch up to Master A, and then take down mysql on Master A.
Step 3: Ensure you have all Master A's data, then turn Slave C into Master C.
Step 4: Point Slave B at Master C.
You'll lose Slave B for a little while as you'll need to sync it with Master C, but at least you'll always have one live instance except for the few minutes you take to ensure all data on Master A made it to Master C.