Eu instalei o servidor MySQL em uma máquina remota Ubuntu. O rootusuário é definido na mysql.usertabela da seguinte maneira:
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 |
+------------------+------+-------------------------------------------+
Eu posso acessar com o usuário rootda mesma interface de linha de comando da máquina remota usando o mysqlcliente padrão . Agora, quero permitir o acesso root de todos os hosts da Internet , então tentei adicionar a seguinte linha (é uma duplicata exata da primeira linha do despejo anterior, exceto a hostcoluna):
mysql> SELECT host, user, password FROM user WHERE host = '%';
+------------------+------+-------------------------------------------+
| host | user | password |
+------------------+------+-------------------------------------------+
| % | root | *xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
+------------------+------+-------------------------------------------+
Mas meu cliente no meu PC pessoal continua me dizendo (eu obscureci o IP do servidor):
Erro SQL (2003): Não é possível conectar ao servidor MySQL em '46 .xxx '(10061)
Não sei dizer se é um erro de autenticação ou de rede. No firewall do servidor , ativei a porta 3306 / TCP para 0.0.0.0/0 , e tudo bem para mim ...
bind-addressem my.cnf