2016-08-24 8 views
0

Ich habe einen Ubuntu 16.04 Server, der auf Microsoft Azure läuft, und ich habe einen MySQL Server darauf ausgeführt. Ich habe 2 Benutzer, Wurzel- und MattyAB (Me), die ich mit diesem Befehl erstellt:Ich kann mich nicht extern bei MySQL Server anmelden

GRANT CREATE ON *.* To 'MattyAB'@'localhost' IDENTIFIED BY '********'; 
GRANT ALL PRIVILEGES ON * . * TO 'MattyAB'@'localhost'; 

Wo * mein Passwort ist. Ich versuche dann, mit meinem PC eine Verbindung zum Server herzustellen, aber es funktioniert nicht.

Was mache ich falsch? Muss ich dieses @ 'localhost' zu etwas anderem ändern?

+0

Haben Sie den Port geöffnet, auf dem mysql für externen Zugriff ausgeführt wird? – CodePhobia

Antwort

1

Also habe ich auf dieses Problem mit anderen Dingen, die ich getan habe, gerannt.

Sie müssen also nur den folgenden Befehl ausführen, nachdem Sie identifiziert haben, auf welchem ​​Port Ihr mySQL läuft.

In Ihrem Ubuntu-Terminal. Führen Sie diese

EXPOSE <PORT NO> 

Versuchen Sie Sudo aussetzen, wenn dies nicht funktioniert.

+0

http://imgur.com/a/lk9DQ Nicht sicher, was das bedeutet ...? – MattyAB

+0

Hoppla, mein Fehler sollte klarer sein, wo ich das hinbekomme. Beantwortete meine Antwort, Sie müssen dies am Ubuntu-Terminal ausführen. – CodePhobia

0

Was hast du gemacht? Sie haben Zugriff gewährt auf alle Datenbanken und Tabellen *.* auf Ihrem Server auf das Konto

'MattyAB' @ 'localhost'.

Localhost ist offensichtlich kein externer Account. Soweit ich weiß, müssen Sie den '%' Operator anstelle von 'localhost' verwenden, oder nur die IP, von der Sie sich auf Ihrem mysql Server anmelden möchten.

Sie brauchen so etwas: GRANT CREATE ON *.* TO 'MattyAB'@'%' IDENTIFIED BY '******'; Ich bin nicht sicher mit den einzelnen Anführungszeichen um%. Im Falle eines Fehlers versuchen Sie beide Arten der Syntax. Außerdem können Sie sich MYSQL Grant Syntax ansehen.

Mit SHOW GRANTS FOR MattyAB können Sie Ihre Grants-Konfiguration überprüfen.

+0

localhost ist korrekt, da dies der Standort des Benutzers ist, dem er die Berechtigungen erteilen möchte. – Takarii

+0

Ja, aber die Frage lautete "Kann sich nicht extern bei MySQL Server anmelden";) Die Syntax lautet "Account at machine". Sie können die Grants für dasselbe Konto variieren, abhängig davon, auf welchem ​​Rechner sich der Account für die Anmeldung am mysql-Server befindet. Setzen Sie '@ 'localhost'' bedeutet, dass Sie bei localhost sein müssen, um sich beim Server anzumelden, was bedeutet, dass der Server auf demselben Rechner installiert ist, mit dem sich der Benutzer anmeldet. Er möchte sich von extern einloggen. Und extern ist nie localhost;) – gakoegler

+0

Ich habe das gemacht, und es gibt folgendes: http://pastebin.com/FbDFvPJ2, aber ich kann immer noch nicht von meinem Computer kommen. – MattyAB

Verwandte Themen