Ok, estou usando o Linux, mas acho que isso também vale para o Windows. Você pode fazer isso diretamente no prompt de comando
> mysql -u <user name> -p<password> <database name> < sqlfilename.sql
Ou a partir do prompt do mysql, você pode usar:
mysql>source sqlfilename.sql
Mas ambas as abordagens têm seus próprios benefícios nos resultados que exibem. Na primeira abordagem, o script sai assim que encontra um erro. E a melhor parte é que ele informa o número exato da linha no arquivo de origem onde ocorreu o erro. No entanto, apenas exibe erros. Se não encontrou nenhum erro, os scripts exibem NADA. O que pode ser um pouco irritante. Porque você costuma executar um script com toda uma pilha de comandos.
Agora, a segunda abordagem (de dentro do prompt do mysql) tem o benefício de exibir uma mensagem para cada comando MySQL diferente no script. Se encontrar erros, exibirá a mensagem de erro do mysql, mas continuará pelos scripts. Isso pode ser bom, porque você pode voltar e corrigir todos os erros antes de executar o script novamente. A desvantagem é que NÃO exibe os números de linha no script em que os erros foram encontrados. Isso pode ser um pouco doloroso. Mas as mensagens de erro são tão descritivas, então você provavelmente pode descobrir onde está o problema.
Eu, por exemplo, prefiro a abordagem de linha de comando diretamente do SO.