Você deve executar SHOW GRANTS FOR 'root'@'localhost';
Se mostrar esta linha nos resultados:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED VIA unix_socket WITH GRANT OPTION
e não esta linha:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' WITH GRANT OPTION
significa que o usuário root é autenticado automaticamente pela credencial do soquete unix. Se você não quiser isso, você pode emitir um comando GRANT manual (não atire no pé fazendo isso) que irá substituir o anterior, por exemplo:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'mysecurepassword' WITH GRANT OPTION;
Agora o mysql perguntará uma senha, mas poderá ser usado por qualquer usuário capaz de acessar o soquete unix (assim, por padrão, usar mysql -u root -p
sem ser root, mas é claro saber a senha). Você tem que ponderar qual deles é mais seguro.
Eu não sei porque o mysql_secure_installation
não explica isso.