Moving MySQL databases is generally going to have some downtime. In the case above, what you might have wanted to do was setup a VPN between site A and site B. At the start, sync Site B MySQL to site A's MySQL using replication or a DB dump. Then change all of the webservers at Site A and B to use Site B's Mysql via the VPN. Then change the DNS entry. Users that have DNS cached to site A will see some latency due to the MySQL connections running over the VPN, but over time those will get moved to B.
You can also prep for this by reducing the DNS TTL a few days before the move. Try setting the TTL to five minutes, some servers will ignore this, but most will not. This will increase load on the DNS server, so be careful.