Consegui recriar seus mesmos sintomas na minha caixa de teste, espero que isso ajude.
No MySQL, os usuários são definidos por duas partes (nome e host). Por padrão, o MySQL terá 3 usuários root:
mysql> SELECT host,user,password FROM mysql.user WHERE user='root';
+-----------------------+------+-------------------------------------------+
| host | user | password |
+-----------------------+------+-------------------------------------------+
| localhost | root | |
| localhost.localdomain | root | |
| 127.0.0.1 | root | *PASSWORD_HASH_GOES_HERE |
+-----------------------+------+-------------------------------------------+
O campo de senha ficará em branco (sem senha) ou terá um hash armazenado. Se você definir a senha para um usuário específico, ele não atualizará automaticamente todos, já que o MySQL os vê como usuários diferentes.
Por exemplo:
mysql> set password for 'root'@'127.0.0.1' = password('Password');
atualizará a senha para 'root'@'127.0.0.1'
, mas não 'root'@'localhost'
ou 'root'@'localhost.localdomain'
Dê uma olhada na variável skip_name_resolve
:
mysql> show variables like 'skip_name_resolve';
+-------------------+-------+
| Variable_name | Value |
+-------------------+-------+
| skip_name_resolve | ON |
+-------------------+-------+
1 row in set (0.00 sec)
Por padrão, skip_name_resolve
é OFF
e tentará resolver todos os endereços IP para nomes de host. Por exemplo, se você se conectar como 'root'@'127.0.0.1'
, o MySQL mudará para conectar você como 'root'@'localhost'
.
Se for ON
, o MySQL verá e conectará 'root'@'127.0.0.1'
e 'root'@'localhost'
como usuários separados. E podem ou não ter senhas diferentes, dependendo de como foram definidas.
Primeiro, gostaria de verificar as diferenças de senha:
mysql> SELECT host,user,password FROM mysql.user WHERE user='root';
Se houver, você pode corrigi-los ou continuar investigando.
Então, eu verificaria o skip_name_resolve
:
mysql> show variables like 'skip_name_resolve';
Se for ON
, eu descobriria onde está sendo definido (por exemplo /etc/my.cnf
) e removê-lo, a menos que seja necessário.
Espero que isso ajude você!