Jika ada orang lain yang mengalami masalah ini, itu karena mysql sekarang memiliki pengguna anonim default yang ditambahkan dengan akses terbatas.
Masalah dibahas di sini .
Solusi pertama di sana tidak cukup komprehensif, Anda memerlukan solusi di akhir yang menghapus semua pengguna anonim (bukan hanya localhost). Ini karena MYSQL akan mengautentikasi pada HOST sebelum PENGGUNA, jadi pengguna anonim ''@'host.com' Anda akan diprioritaskan daripada 'dbuser'@'host.com' Anda (didokumentasikan dalam dokumentasi mysql ) dan rubber akan mencoba terhubung dengan nama host lengkap.
Edit ./config/rubber/deploy-mysql.yml Anda:
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