2016-06-22 4 views
0

Ich verwende Rails in meiner lokalen Entwicklungsumgebung, aber die mysql-Instanz befindet sich auf einem separaten Server.Rails kann trotz Privileges keine Verbindung zu externem MySQL-Server herstellen

Beim Versuch, eine Seite in der App zu öffnen bekomme ich diesen Fehler:

Access denied for user 'username'@'myhostname.lan' (using password: YES)

Wenn ich in den Server ssh mysql laufen und führen Sie diesen Befehl SELECT Host from mysql.user WHERE User='username'; ich folgendes:

+---------------------+ 
| Host    | 
+---------------------+ 
| %     | 
| myhostname.lan  | 
| localhost   | 
+---------------------+ 

Alle diese Einträge wurden mit GRANT ALL PRIVIELEGES ON dbname.* TO ...

erstellt Also warum kann ich nicht verbinden beide gegeben Der any-Host-Platzhalter% ist in der Liste sowie der Hostname, von dem ich versuche, eine Verbindung herzustellen?

+0

Ist das Passwort für alle drei Einträge gleich? (Vergleichen Sie einfach die Hashes) – Vasfed

+0

Tatsächlich hatten Sie Recht. Als ich die Berechtigungen erteilt habe, habe ich den "IDENTIFIED BY" xxx'-Teil nicht eingefügt, sodass PW leer war. – Killerpixler

Antwort

1

Trotz der gleichen Benutzernamen sind diese Benutzer für mysql unterschiedlich. Überprüfen Sie, ob das Passwort für alle Benutzereingaben gesetzt wurde und wie Sie es erwarten.

Sie können authentication_string s in mysql.user vergleichen.

Verwandte Themen