Talvez eu não esteja entendendo... mas isso sempre funcionou para mim. Não há referências ao nome do banco de dados e todos os definidores são eliminados, por isso é super fácil restaurar a partir do arquivo gerado:
mysqldump -uUSERNAME -pPASSWORD database | sed -e 's/DEFINER=[^*]*\*/\*/' > backup.sql
Restaurar:
mysql -uUSERNAME -pPASSWORD database < backup.sql
Contanto que o banco de dados para o qual você está restaurando exista (vazio ou não), funciona como um encanto.