Si alguien más tiene este problema, es porque mysql ahora tiene usuarios anónimos predeterminados agregados con acceso limitado.
El problema se analiza aquí .
La primera solución no es lo suficientemente completa, necesita la del final que elimina a todos los usuarios anónimos (no solo localhost). Esto se debe a que MYSQL se autenticará en HOST antes que en USER, por lo que un usuario anónimo ''@'your.host.com' tendrá prioridad sobre 'dbuser'@'your.host.com' (documentado en documentación de mysql ) y Rubber intentará conectarse con el nombre de host completo.
Edite su ./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