Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL ne se connecte pas sur EC2 déployé avec Rubber

Si quelqu'un d'autre rencontre ce problème, c'est parce que mysql a maintenant ajouté des utilisateurs anonymes par défaut avec un accès limité.

Le problème est discuté ici .

La première solution n'est pas assez complète, vous avez besoin de celle à la fin qui supprime tous les utilisateurs anonymes (pas seulement localhost). En effet, MYSQL s'authentifiera sur HOST avant USER, donc un utilisateur anonyme ''@'your.host.com' aura priorité sur 'dbuser'@'your.host.com' (documenté dans documentation mysql ) et rubber essaiera de se connecter avec le nom d'hôte complet.

Modifiez votre ./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