Si quelqu'un d'autre rencontre ce problème, c'est parce que mysql a maintenant ajouté des utilisateurs anonymes par défaut avec un accès limité.
Le problème est discuté ici .
La première solution n'est pas assez complète, vous avez besoin de celle à la fin qui supprime tous les utilisateurs anonymes (pas seulement localhost). En effet, MYSQL s'authentifiera sur HOST avant USER, donc un utilisateur anonyme ''@'your.host.com' aura priorité sur 'dbuser'@'your.host.com' (documenté dans documentation mysql ) et rubber essaiera de se connecter avec le nom d'hôte complet.
Modifiez votre ./config/rubber/deploy-mysql.yml :
rubber.sudo_script "create_master_db", <<-ENDSCRIPT
mysql -u root -e "create database #{env.db_name};"
mysql -u root -e "delete from mysql.user where user='';" <<-- ADD THIS LINE
...
ENDSCRIPT