Después de configurar la contraseña de root, ¿por qué MYSQL todavía me permite iniciar sesión sin una contraseña desde la línea de comandos? Puedo escribir "mysql" en el indicador de raíz de Unix y no pide contraseña y aún me permite el acceso de root. No entiendo por qué "mysql -u root" AHORA no me pide la contraseña que configuré en la cuenta.
Además, no puedo iniciar sesión en mysql desde una máquina remota como 'root'. ¿No lo configuré correctamente a continuación? Recibo el error: "Host ... no tiene permiso para conectarse a este servidor MySQL. ¿No lo configuré para '%'?
Aquí está mi tabla de usuario:
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)
fuente
Bueno, la respuesta está en esa tabla: debe eliminar las líneas "raíz" que no tienen una lista de contraseñas.
Además, parece que permite conexiones desde cualquier lugar (?!?!) Cuando no se utiliza ningún usuario o pase. Probablemente sea una mala idea. Haría algo como:
fuente
No olvides DESCARGAR PRIVILEGIOS o aún puedes iniciar sesión sin contraseña.
fuente