He instalado el servidor MySQL en una máquina remota de Ubuntu. El rootusuario se define en la mysql.usertabla de esta manera:
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 |
+------------------+------+-------------------------------------------+
Puedo acceder con el usuario rootdesde la misma interfaz de línea de comandos de la máquina remota utilizando el mysqlcliente estándar . Ahora quiero permitir el acceso a la raíz desde cada host en Internet , así que intenté agregar la siguiente fila (es un duplicado exacto de la primera fila del volcado anterior, excepto la hostcolumna):
mysql> SELECT host, user, password FROM user WHERE host = '%';
+------------------+------+-------------------------------------------+
| host | user | password |
+------------------+------+-------------------------------------------+
| % | root | *xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
+------------------+------+-------------------------------------------+
Pero mi cliente en mi PC personal continúa diciéndome (oscurecí la IP del servidor):
Error de SQL (2003): no se puede conectar al servidor MySQL en '46 .xxx '(10061)
No puedo decir si es un error de autenticación o un error de red. En el servidor de seguridad habilité el puerto 3306 / TCP para 0.0.0.0/0 , y eso está bien para mí ...
bind-addressen my.cnf