Uma maneira de testar isso seria conectar-se ao mysql na linha de comando da máquina onde o Rails mora. Algo como
mysql -u admin -ppwhere -h sql.domain.com
Você provavelmente descobrirá que também não pode se conectar dessa maneira. Em caso afirmativo, você provavelmente tem um problema de GRANT, provavelmente devido à especificação do host errado no GRANT. Por exemplo, se o banco de dados e os trilhos residem na mesma máquina, o mysql pode pensar que você está se conectando de 'localhost', em vez do nome DNS da caixa de trilhos (ou vice-versa).
No início, você pode simplesmente conceder ao usuário administrador acesso a tudo:
GRANT ALL ON *.* to 'admin'@'whereever_rails_lives' IDENTIFIED BY 'pwhere'
sintaxe de concessão do mysql
O truque geralmente é acertar 'whereever_rails_lives'.