Я делал так:
1. На новом сервере создавал базу.
2. Со старого на новый открывал ssh шлюз (скажем на 3307 порту).
3. Копировал php скрипты на новый сервер.
4. Останавливал сервис (к сожалению в этом случае без остановки никак, но есть варианты, например, со slave).
5. Переносил данные на новый сервер (mysqldump)
6. На старом в php скриптах исправлял коннект порта с 3306 на 3307. Запускал сервис.
7. Менял DNS. Теперь до кого записи дошли, работали полностью на новом сервере, до кого не дошли - на старом, но в новой базе.
Но это все если Ваш проект не пишет ничего, кроме базы. Так придется еще синхронизировать файлы, а это задача не тривиальная и сильно зависит от проекта.