Ich habe den MySQL-Server auf einem Remote-Ubuntu-Computer installiert. Der rootBenutzer wird in der mysql.userTabelle 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 hostSpalte):
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-addressin my.cnf