
Ich bin sehr neu in MySQL und ich möchte Remote-Login verwenden Ich folgte diesemStapelProzess, aber der Befehl gibt nichts auf dem Bildschirm aus, wie unter diesem Link aufgeführt
$ lsof -i -P | grep :3306
$
dies ist die Ausgabe.
Was ich bisher getan habe: Ich habe die Datei bearbeitet/etc/mysql/meine.cnfum Wechselgeld zu machen und sieht so aus
skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 0.0.0.0
Was ich im Grunde will, ist, dass ich mich remote anmelden möchte. Aber das gelingt mir nicht. Ich führe den folgenden Befehl auf meinem Terminal aus
$ mysql -h 127.6.110.2 -u adminTwz5PWn -p
$ enter password:
ERROR 1045 (28000): Access denied for user 'adminTwz5PWn'@'localhost' (using password: YES)
Der Information halber habe ich diesen Benutzernamen und dieses Passwort von Openshift erhalten. Meine Sorge ist, wie @'localhost' ins Bild kommt, wenn ich die Host-IP im Befehl angebe
Ich habe den Benutzer wie folgt bei MySQL angemeldet
+------------------+---------------+
| user | host |
+------------------+---------------+
| root | % |
| root | 127.0.0.1 |
| adminvKbP1kf | 127.3.138.130 |
| adminTwz5PWn | 127.6.110.2 |
| root | ::1 |
| user | hostname |
| debian-sys-maint | localhost |
| phpmyadmin | localhost |
| phpmyadmin_suraj | localhost |
| root | localhost |
| suraj | localhost |
+------------------+---------------+
Bitte korrigieren Sie mich, wenn ich irgendwo falsch liege. Und welche Schritte sind erforderlich, um dies erfolgreich zu machen?
Antwort1
Der gesamte IP-Bereich 127.0.0.0/8
ist für Loopback reserviert. Obwohl normalerweise nur verwendet wird 127.0.0.1
, ist IP 127.6.110.2
auch Loopback und daher erhalten Sie Ihren „localhost-Fehler“.
Führen Sie auf Ihrem MySQL-Server ip a
oder ifconfig
aus, um Ihre öffentliche IP-Adresse herauszufinden und stellen Sie dann eine Verbindung zu dieser Adresse her.
Sie benötigen außerdem einen MySQL-Benutzer, der eine Verbindung von einem Remote-Computer aus herstellen darf. Öffnen Sie mysql
auf Ihrem Server die MySQL-Konsole und führen Sie eine dieser Abfragen aus (ändern Sie BENUTZERNAME und PASSWORT durch Ihre Anmeldeinformationen):
So gestatten Sie Remote-Benutzern die Verbindung nur von der bestimmten IP xxxx aus:
GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'x.x.x.x' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;
So ermöglichen Sie Remotebenutzern die Verbindung von überall:
GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;
Um sicherzustellen, dass diese Abfragen wirksam werden, führen Sie sie FLUSH PRIVILEGES;
dann aus.