Após definir a senha root, por que o MYSQL ainda permite que eu entre sem uma senha na linha de comando? Eu posso digitar "mysql" em um prompt root unix e ele não pede senha e ainda me permite acesso root. Não estou entendendo por que "mysql -u root" NÃO está agora me pedindo a senha que defini na conta.
Além disso, não consigo acessar o mysql de uma máquina remota como 'root'. Não o configurei corretamente abaixo? Eu recebo o erro: "Host ... não tem permissão para se conectar a este servidor MySQL. Eu não o configurei para '%'?
Aqui está minha tabela de usuários:
mysql> select host,user,password from user;
+-----------+------+-------------------------------------------+
| host | user | password |
+-----------+------+-------------------------------------------+
| localhost | root | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
| % | root | |
| 127.0.0.1 | root | |
| ::1 | root | |
| localhost | | |
| % | | |
+-----------+------+-------------------------------------------+
6 rows in set (0.00 sec)
fonte
Bem, a resposta está correta nessa tabela - você precisa remover as linhas "raiz" que não possuem senha listada.
Além disso, parece que você permite conexões de qualquer lugar (?!?!) Ao usar nenhum usuário ou passe. Provavelmente é uma má ideia. Eu faria algo como:
fonte
Não se esqueça de FLUSH PRIVILEGES ou você ainda pode fazer o login sem senha.
fonte