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