Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL non si connette su EC2 distribuendo con Rubber

Se qualcun altro ha questo problema, è perché mysql ora ha utenti anonimi predefiniti aggiunti con accesso limitato.

Il problema è discusso qui .

La prima soluzione non è abbastanza completa, è necessaria quella alla fine che elimina tutti gli utenti anonimi (non solo localhost). Questo perché MYSQL si autenticherà su HOST prima dell'UTENTE, quindi un utente anonimo ''@'your.host.com' avrà la priorità su 'dbuser'@'your.host.com' (documentato in documentazione mysql ) e rubber proveranno a connettersi con il nome host completo.

Modifica il tuo ./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