¿Cómo deshabilitar los inicios de sesión raíz de MySQL cuando no se proporciona una contraseña?

MySQL está instalado en mi computadora portátil y funciona bien, excepto que se me permite iniciar sesión sin proporcionar la contraseña de root. También puedo iniciar sesión proporcionando la contraseña de root. Si la contraseña proporcionada no coincide, niega el acceso. La contraseña de root se cambió a algo de mi elección cuando instalé MySQL originalmente. Acabo de notar los inicios de sesión sin contraseña hoy.

Entonces, necesito detener el acceso a la cuenta raíz cuando no se proporciona una contraseña. Lo que he intentado hasta ahora es restablecer la contraseña de root con:

mysqladmin -u root password TopSecretPassword

uego, inicié sesión en la consola y emití:

mysql> flush privileges;  exit;

Todavía puedo iniciar sesión en MySQL con:

%> mysql -u  {enter}

¿Cómo detengo este comportamiento?

DETALLES ADICIONALES

%> mysql -u  {enter}

mysql>SELECT USER(), CURRENT_USER();
> root@localhost, root@localhost

mysql>SELECT COUNT(*) FROM mysql.users WHERE user='root' AND password='';
> COUNT(*)
> 0

mysql>SELECT COUNT(*) FROM mysql.users WHERE user='';
> COUNT(*)
> 0

mysql>SELECT COUNT(*) FROM mysql.users WHERE user='root';
> COUNT(*)
> 1

%> vi /etc/my.cnf
/skip-grant-tables
> E486: Pattern not found: skip-grant-tables

Respuestas a la pregunta(3)

Su respuesta a la pregunta