Jeśli ktoś inny ma ten problem, to dlatego, że mysql ma teraz dodanych domyślnych anonimowych użytkowników z ograniczonym dostępem.
Problem jest omawiany tutaj .
Pierwsze rozwiązanie nie jest wystarczająco wszechstronne, potrzebujesz tego na końcu, które usuwa wszystkich anonimowych użytkowników (nie tylko localhost). Dzieje się tak, ponieważ MYSQL będzie uwierzytelniać się na HOST przed UŻYTKOWNIKIEM, więc anonimowy użytkownik ''@'twój.host.com' ma pierwszeństwo przed 'dbuser'@'twój.host.com' (udokumentowane w dokumentacja mysql ), a Rubber będzie próbował połączyć się z pełną nazwą hosta.
Edytuj swój ./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