Como desativar logins raiz do MySQL quando nenhuma senha é fornecid

@MySQL está instalado no meu laptop e funciona bem, exceto pelo fato de eu poder fazer login sem fornecer a senha root. Também posso fazer login fornecendo a senha root. Se a senha fornecida não corresponder, ela negará acesso. A senha root foi alterada para algo que eu escolhi quando originalmente instalei o MySQL. Acabei de notar os logins sem senha hoje.

Então, preciso interromper o acesso à conta root quando uma senha não é fornecida. O que eu tentei até agora é redefinir a senha root com:

mysqladmin -u root password TopSecretPassword

Eu entrei no console e emiti:

mysql> flush privileges;  exit;

Ainda consigo fazer login no MySQL com:

%> mysql -u  {enter}

Como interrompo esse comportamento?

DETALHES ADICIONAIS

%> 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

questionAnswers(3)

yourAnswerToTheQuestion