Two part question:
What is the industry best practices for handling a major DNS change?
I have an app that uses Mysql the app was replicated on both servers including the database. During DNS propagation some users data was stored on server A and some on Server B. What is the best way to consolidate/sync this data?
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.
This is 2 seperate questions..
What DNS servers are you using? and why a mysql backend??
Consider using TINYDNS.. its extremely fast and light and scalable..
You should be able to make this change without downtime at all.. Rolling servers into the new DNS changes.
Your MYSQL problem is quite complicated.. i would assume application specific