Alguém aqui sugere que pode ser um problema de firewall:
Acabei de ter esse problema e descobri que era meu firewall. Eu uso o PCTools Firewall Plus e não estava permitindo acesso total ao MySQL. Depois que mudei ficou bom. Espero que ajude.
Pode ser isso?
Além disso, alguém aqui sugere que pode ser porque o servidor MySQL está vinculado ao IP de loopback (127.0.0.1 / localhost) que efetivamente o impede de se conectar "de fora".
Se este for o caso, você precisa enviar o script para o servidor da web (que provavelmente também está executando o servidor MySQL) e manter o host do servidor como 'localhost'