Ich habe den MySQL-Server auf einem Remote-Ubuntu-Computer installiert. Der root
Benutzer wird in der mysql.user
Tabelle folgendermaßen definiert :
mysql> SELECT host, user, password FROM user WHERE user = 'root';
+------------------+------+-------------------------------------------+
| host | user | password |
+------------------+------+-------------------------------------------+
| localhost | root | *xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| ip-10-48-110-188 | root | *xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| 127.0.0.1 | root | *xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| ::1 | root | *xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
+------------------+------+-------------------------------------------+
Ich kann mit dem Benutzer root
über dieselbe Befehlszeilenschnittstelle des Remotecomputers mit dem Standardclient zugreifen mysql
. Jetzt möchte ich Root-Zugriff von jedem Host im Internet zulassen , daher habe ich versucht, die folgende Zeile hinzuzufügen (es ist ein genaues Duplikat der ersten Zeile aus dem vorherigen Speicherauszug, mit Ausnahme der host
Spalte):
mysql> SELECT host, user, password FROM user WHERE host = '%';
+------------------+------+-------------------------------------------+
| host | user | password |
+------------------+------+-------------------------------------------+
| % | root | *xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
+------------------+------+-------------------------------------------+
Aber mein Client auf meinem PC sagt mir weiterhin (ich habe die Server-IP verdeckt):
SQL-Fehler (2003): Es kann keine Verbindung zum MySQL-Server unter '46 .xxx '(10061) hergestellt werden.
Ich kann nicht sagen, ob es sich um einen Authentifizierungsfehler oder einen Netzwerkfehler handelt. Auf der Server-Firewall habe ich Port 3306 / TCP für 0.0.0.0/0 aktiviert , und das ist für mich in Ordnung ...
bind-address
in my.cnf