sql >> Base de Datos >  >> RDS >> Mysql

MySQL no se conectará en la implementación de EC2 con Rubber

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