Plusieurs solutions pour du dump :
1) mysqldump
2) lock des tables (requête mysql) + copie des datas mysql (par défaut /var/lib/mysql sous debian)
3) lock des tables + dd if=/var/lib/mysql of=copie_binaire
4) dans la conf de mysql, tu peux avoir des logs binaires qui sont utilisé pour faire de la réplication entre serveurs
La 1ère et la 2ème solutions fonctionnes très bien (au passage, man mysql_upgrade)
J'ai migré un serveur de production vers un autre nouveau serveur de production et j'ai travaillé avec mysqldump (et mysql_upgrade) et je n'ai eu aucun problème. Cependant, pense aux bonnes options si tu as par exemple des procédures stockées.